时光给我倒流一下 2022-11-27 00:55 采纳率: 100%
浏览 4
已结题

对三行文字的字符进行一个统计

我不清楚我的这个特殊字符和空格统计的为啥不对啊 我的特殊字符怎么全加到空格里了 求解

#include<stdio.h>
int main ()
{
    char str[3][80];
    int i,j=0;
    
    int low=0,up=0,space=0,digit=0,other=0;
        for(i=0;i<3;i++)
        {
            printf("第%d行:",i+1); 
            gets(str[i]);
            j=0;
            while(str[i][j]!='\0')
            {
                if(str[i][j]>='A'&&str[i][j]<='Z')
                    up++;
                else if(str[i][j]>='a'&&str[i][j]<='z')
                    low++;
                else if(str[i][j]>='0'&&str[i][j]<='9')
                    digit++;
                else if (str[i][j]=' ')
                    space++; 
                else
                    other++;        
                j++;
            }
        }
            printf("大写字母:%d\n小写字母:%d\n数字:%d\n空格:%d\n其他:%d\n",up,low,digit,space,other);
    return 0;
}

img

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2022-11-27 08:06
    关注

    空格比较,那边你用了 一个等于号,表明这是一个赋值语句,最终结果是 所有其他特殊字符,包括空格进入这个判断都是 判的 true。

    if (" ")  // 空格的ASCII码值是:32,而C语言非0即是真(true)
    

    如有帮助,欢迎采纳哈~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 修改了问题 11月27日
  • 创建了问题 11月27日

悬赏问题

  • ¥20 用51单片机控制急停。
  • ¥15 孟德尔随机化结果不一致
  • ¥15 在使用pyecharts时出现问题
  • ¥15 深度学习残差模块模型
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用