超级甲鱼粉 发表于 2020-1-16 13:22:02

c语言初学者问题求助

我按照课件打出来的程序按1为什么不会跳出循环呢?是用来统计输入字符个数的。
#include <stdio.h>

void main()

{
        int c,nb,nt,nl;

        nb = nt = nl = 0;
        while((c = getchar()) != 1)
        {
                if(c==' ')
                        ++nb;
                if(c=='\t')
                        ++nt;
                if(c=='\n')
                        ++nl;
        }
        printf("%d %d %d\n",nb,nt,nl);
}

zltzlt 发表于 2020-1-16 13:25:36

1 应该为字符。帮你改好了:

#include <stdio.h>

void main()

{
    int c, nb, nt, nl;

    nb = nt = nl = 0;
    while ((c = getchar()) != '1')
    {
      if (c == ' ')
            ++nb;
      if (c == '\t')
            ++nt;
      if (c == '\n')
            ++nl;
    }
    printf("%d %d %d\n", nb, nt, nl);
}

-天古- 发表于 2020-1-16 13:26:09

键盘输入字符和对应字符不符, 改为while((c = getchar()) != 0x31)试试。

法克鱿 发表于 2020-1-22 13:53:45

换成字符1,‘1’,如二楼。
页: [1]
查看完整版本: c语言初学者问题求助