我偶然发现了我很好理解的这种行为.
我错误地在程序结束时编写了以下内容,以便在以下数组中打印元素char:
printf("output: %s",outputText[]);
Run Code Online (Sandbox Code Playgroud)
当我应该(并最终)迭代数组并打印每个元素时:
for(int i = 0; i < textLength; i++){
printf("%c",outputText[i]);
}
Run Code Online (Sandbox Code Playgroud)
促使我实施后者的是我得到的输出.尽管初始化数组以限制字符outputText[textLength],确保数组中没有意外的元素,但是在实现前一代码时我的输出总是会被其他怪异的元素所占据,如下所示:
我只是连续三次运行相同的程序,并在我的数组末尾附加了三个随机字符.
(编辑替换outputText[]- > outputText在第一个示例中.)