|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为什么在while语句中不能使用 && ?虽然能正常编译,但是算法错误。
还是说在while中大小比较不可用。
#include<stdio.h>
int main()
{
int count = 0;
printf("请输入一串英文句子:");
while(getchar() <= 'Z' && getchar() >= 'A' && getchar() != 0)
{
count = count + 1;
}
printf("总共有%d个大写字母",count);
return 0;
}
麻烦各位大佬解答一下
本帖最后由 jackz007 于 2019-9-11 23:38 编辑
&& 和 || 等运算符,只要是逻辑表达式,无论是 while 还是 if 都一样可以用,没有任何区别。
楼主,你的 while 语句应该用来判断循环结束条件,就是键盘输入结束的条件,而不应该用来判断大小写字母。而且,在 while 语句中,你连用了多个没有进行赋值的 getchar() ,要知道,每执行一次,就会丢弃一个输入字符,所以,绝对不能那么用。
- #include <stdio.h>
- main(void)
- {
- char c , s[256] ;
- int i = 0 , count = 0 ;
- printf("\t\t请输入一串英文句子:") ;
- while((c = getchar()) != '\n') {
- if(c >= 'A' && c <= 'Z') count ++ ;
- s[i ++] = c ;
- }
- s[i] = '\0' ;
- printf("\t\t%s\n" , s) ;
- printf("\t\t总共有%d个大写字母" , count) ;
- printf("\n\n") ;
- }
复制代码
|
|