Могу поспорить, что int определяется сразу после вашей строки и что int принимает только небольшие значения, так что по крайней мере один байт равен 0.
по ошибке я определяю массив символов без '\ 0' в качестве последнего символа, что происходит потом? Я спрашиваю об этом, потому что заметил, что если я попытаюсь выполнить итерацию по массиву while (cnt! = '\ 0'), где cnt - это переменная int, используемая в качестве индекса для массива, и одновременно вывести значения cnt для мониторинга что происходит, итерация останавливается на последнем символе + 2. Дополнительные символы, конечно, случайны, но я не могу понять, почему он должен останавливаться после 2.Производит ли компилятор автоматический ввод символа «\ 0»? Ссылки на соответствующую документацию будет оценено.
Чтобы прояснить ситуацию, я приведу пример. Допустим, что массив «str» содержит слово doh (без '\ 0'). Печать переменной cnt в каждом цикле даст мне doh + или doh ^ и так далее.