nb696996 2021-11-25 12:50 采纳率: 100%
浏览 23
已结题

C语言:为什么这个代码运行结果没有统计空格及空格数之后的数?

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-11-25 13:49
    关注

    scanf()函数遇到空格等,即认为输入结束,所以输入“hhh123 222” 时,只读入了空格前部分“hhh123” ,修改读入的方式,供参考:

    #include<stdio.h>
    int main()
    {
        void tj(char a[100]);
        char a[100];
        printf("请输入字符串:\n");
        //scanf("%s",a);
        gets(a);
        tj(a);
        puts(a);  //输出看看读入的字符串是什么内容
        return 0;
    }
    
    void tj(char a[100])
    {
        int z=0,s=0,k=0,q=0,i;
        for(i=0;a[i]!='\0';i++)
        {
            if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<'Z')
               z++;
            else if(a[i]>='0'&&a[i]<='9')
               s++;
            else if(a[i]==32)
               k++;
            else
               q++;
        }
        printf("字母数为:%d\n",z);
        printf("数字数为:%d\n",s);
        printf("空格数为:%d\n",k);
        printf("其他数为:%d\n",q);
    }
    
    
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    nb696996 2021-11-25 13:55

    懂了,谢谢谢谢

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月25日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部