解题思路:
1、fgets 函数 定义 ,如果读取失败会返回NULL, 所以不能用 判断 scanf(") != EOF 类似的判断,
EOF 是当串 或流输入遇到末尾后,表示输入结束,但是往往 正常情况下不会遇到这些 状况
2、 判断是否为大写字母 str[i] >= 'A' && str[i] <= 'Z', 在判读逻辑完成后,则输出大写字母个数
#include <stdio.h>
int main(void) {
char str[250] = {0};
unsigned counts = 0;
while (fgets(str, 250, stdin)) {
unsigned int length = strlen(str) -1;
for(unsigned int i = 0; i< length; i++) {
if(( str[i] >= 'A') && (str[i] <= 'Z')) counts ++;
}
printf("%d\n", counts);
counts = 0;
}
return 0;
}