我正在尝试使用while循环计算用户作为输入的字符数,但是由于某种原因,输出计数总是比期望值多一个。 (我是新手,所以请不要为此而恨我。)
这是我的代码:
#include <stdio.h>
#include <string.h>
int main() {
int len,i;
char sttr[29];
fgets(sttr,29,stdin);
len = 0;
i=0;
while(sttr[i] != '\0'){
if (sttr[i] != ' '){
len++;
}
i++;
}
printf("%d\n",len);
}
最佳答案
fgets
函数读取一行文本并存储该文本,包括换行符(如果有空间的话)。
因此由于换行,输出又增加了一个。
关于c - 使用while循环计算C中不包含空格的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53088013/