if(str[i]='\0')
присваивание переменной числа 0, а затем проверка и выполнение, если в этой переменной значение, отличное от 0. потому никогда не выполняется, соответственно, break не происходит (проходят все 10 итераций), а до кучи вся строка забивается символом окончания строки, становясь пустой, как следствие, printf ничего и не выводит.