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 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题
    • ¥15 Visual Studio问题
    • ¥20 求一个html代码,有偿