ava*_*sin -3 c arrays null loops null-terminated
如何检查char数组是否以空值终止?
char input[80];
fgets(input, sizeof(input), stdin);
for (i = 0; input[i]; i++)
{
if (input[i] == '\0') {
printf("null!!!"); // never works
}
}
Run Code Online (Sandbox Code Playgroud)
例如,以下代码不会打印null.
在for循环条件中,您已经在检查非0值input[i],因此内部if是一个死区.
要测试,进行无限循环,检查if然后打印和break输出.就像是
for (i = 0; ; i++)
{
if (input[i] == '\0') {
printf("null!!!\n"); // now works
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |