鱼C论坛

 找回密码
 立即注册
查看: 2349|回复: 4

课后作业求助

[复制链接]
发表于 2022-9-5 01:55:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
统计从键盘输入的一行英文句子中大写字母的个数。这是哪里错了
#include <stdio.h>

int main () {
        int count = 0;
        int zm = 0;
        printf("请输入一行英文字符:");
        while ( zm = getchar()!= '\n') {
                if (zm <= 'Z' && 'A' <= zm) {
                        count = count + 1;
                }

        }
        printf("你一共输入了%d个大写字母", count);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-5 06:04:29 From FishC Mobile | 显示全部楼层
while((ch = getchar()) !='\n')  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-5 12:56:39 | 显示全部楼层
看我注释
#include <stdio.h>

int main () {
        int count = 0;
        int zm = 0;
        printf("请输入一行英文字符:");
        while ( (zm = getchar())!= '\n') {  // 这里要加(),因为!=的运算符优先程度比=高,所以它会先算getchar()!= '\n',这里要让zm = getchar()先算,所以要加()
                if (zm <= 'Z' && 'A' <= zm) {
                        count = count + 1;
                }

        }
        printf("你一共输入了%d个大写字母", count);
        return 0;
}

评分

参与人数 1鱼币 +5 收起 理由
阿亮不减肥 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-9-5 14:36:57 | 显示全部楼层

明白了,如果先比较的话,结果不是0就是1,赋值过去zm就只等于0或1,是这个意思嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-5 23:11:06 | 显示全部楼层
阿亮不减肥 发表于 2022-9-5 14:36
明白了,如果先比较的话,结果不是0就是1,赋值过去zm就只等于0或1,是这个意思嘛

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-27 22:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表