老牛来学习 发表于 2020-2-6 17:51:59

c语言13课课后作业代码错误

#include <stdio.h>

int main()
{
    int count = 0;
    int num;
    printf("请输入一行英文句子:\n");
    while((num = getchar() !='\n')
    {
      if(num >= 'A' && num <= 'Z');
      {
            count = count + 1;
      }
    }
    printf("一共输入%d个大写字母\n",count);
    return 0;
}


不知道是哪里有错,不管小写还是大写他都说是 大写
题目是输入字符,打印出有多少个大写字符;

召唤风云 发表于 2020-2-6 18:03:48

我猜是运算符优先级的问题。把num的赋值和getch分开。

老牛来学习 发表于 2020-2-6 18:34:09

召唤风云 发表于 2020-2-6 18:03
我猜是运算符优先级的问题。把num的赋值和getch分开。

啥分开

召唤风云 发表于 2020-2-6 18:44:50

num=getchar,加在循环前面。判断的时候直接用num。在循环的最后也加上这句话num=getchar。

大裤衩子 发表于 2020-2-7 12:25:21

本帖最后由 大裤衩子 于 2020-2-7 14:32 编辑

第八行少了少了括号;
改成 while((num = getchar())!='\n')
还有第十行if后的分要去掉,
一定要仔细呀{:10_256:}

老牛来学习 发表于 2020-2-7 15:07:42

大裤衩子 发表于 2020-2-7 12:25
第八行少了少了括号;
改成 while((num = getchar())!='\n')
还有第十行if后的分要去掉,


谢谢
页: [1]
查看完整版本: c语言13课课后作业代码错误