沉眠钟声 2022-04-21 18:10 采纳率: 75%
浏览 63
已结题

在循环中想让一个字符串遇到'\0'再退出循环,但是遇到空格就已退出是怎么回事?


#include<stdio.h>
void f5() {
    char str[200];
    int num1=0, num2=0, num3=0, num4=0;          
    printf("Please enter the string: ");
    scanf_s("%s", str,200);
    for (int i = 0; str[i] != '\0'; i++) {
        if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
            num1++;                          //统计字母
        else if (str[i] >= '0' && str[i] <= '9') num2++;           //统计数字
        else if (str[i] == ' ') num3++;                      //统计空格
        else num4++;                                        //统计其他
    }
    printf("\n字母数为%d\n数字数为%d\n空格数为%d\n其他字符为%d\n", num1, num2, num3, num4);
}

img

  • 写回答

2条回答 默认 最新

  • 辍之耕 2022-04-21 18:21
    关注
    scanf_s("%s", str,200);
    
    改成scanf_s("%[^\n]",str, 200); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月21日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集