如果我错误地定义了一个没有
我之所以问这个问题,是因为我注意到如果我尝试通过
为了让它更清楚,我举个例子。假设数组
\0
作为最后一个字符的char数组,那么会发生什么?我之所以问这个问题,是因为我注意到如果我尝试通过
while(cnt!='\0')
迭代数组,其中cnt
是用作数组索引的int变量,并同时打印cnt值以监视发生了什么,迭代会在最后一个字符+2处停止。额外的字符当然是随机的,但我不明白为什么它必须在2之后停止。编译器是否自动插入\0
字符?相关文档链接将不胜感激。为了让它更清楚,我举个例子。假设数组
str
包含单词doh
(没有'\0')。在每次循环中打印cnt变量将给我以下结果:doh+
或doh^
等等。