首页 > 解决方案 > 使用while循环计算C中不包括空格的字符

问题描述

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

}

标签: c

解决方案


fgets函数读入一行文本并存储该文本,包括换行符(如果有空间)。

因此,由于换行符,输出又多了一个。


推荐阅读