tiankouren 2014-06-28 04:17
浏览 795

计数输入的字符为什么错误?

#include

void main()
{
int c,nb,nt,nl,num,others;

nb=nt=nl=num=others=0;
while((c=getchar())!=EOF)
{
    if(c==' ')
        ++nb;
    else if(c=='\t')
        ++nt;
    else if(c=='\n')
        ++nl;
    else if(c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9')
        ++num;
    else 
        ++others;
}
printf("\n%d %d %d %d %d\n",nb,nt,nl,num,others);

}
这是原程序就是想实现能对输入的字符进行计数,为什么我输入“123空格回车ctrl+c”后能正常计数,但输入“123空格回车123wer【】ctrl+c”就不能计数出others的个数呢?我用调试能看出要输入回车后才能进入循环计数,那怎么能解决这个问题呢?

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误