我正在尝试使用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/

10-11 21:03