【发布时间】:2014-11-09 18:41:00
【问题描述】:
我使用 fgets 读取了一个字符串。它打印正确,但如果我尝试使用 strlen 或一段时间输出长度,直到 NULL 它返回一个错误的值。 fgets 不是以 NULL 结束字符串吗?
char word[256];
fgets(word, sizeof(word), stdin);
while(word[i])
i++;
printf("%d",i);
对于字符串 aba,它输出 40。
【问题讨论】:
-
是的,我设置为 0。这不是问题。
-
好吧
strlen也不是问题,我向你保证。您应该提供一个重现问题的可编译示例。 -
尝试输入其他字符串,看看 i 的输出值?你确定你有 int i =0;?