return 0; } 输出结果:0 解释: = 为赋值语句,优先级低 == 为比较语句,优先级比较高 while一直循环到不满足条件(ch=0)时,才会跳出循环 printf语句在while循环之后,没有在其循环体中 getchar会获取A和回车符 c while ...
百度试题 题目若变量已正确定义,在执行以下语句while(ch=getchar()==‘A’);时,输入字符‘A’后,ch的值是( )。A.0B.1C.AD.不确定 相关知识点: 试题来源: 解析 B 反馈 收藏
最终ch =0; 楼主可以这样测试下 getchar() 最后一次被执行到时返回了什么 #include #include #include using namespace std; void main() { int ch ; int ch2; while(ch=(ch2=getchar())=='A'); printf("ch = %d\nch2= %d\n",ch,ch2); } 输入A 回车 得到ch2 = 10,这个10 就是回车键的...
include "string"void main(){ int ch;ch= (getchar () =='A');printf("%d",ch);} 10:03:48 输入其他字符 你可以看到结果 10:03:55 再输入A 可以看到是1 10:04:07 判定 输入字符 是否是'A'10:04:23 如果是A 返回值是1 如果不是A 返回值是0 ...
void main(){ char ch;while(ch=getchar() == 'A'){ printf("ch= %d",ch);break;} getch();} 结果ch的值是1,我的理解是这样的, == 的优先级别 比 = 高,所以程序先判断 getchar()=='A' 的值, 再把判断后的结果(逻辑值 真 或 假,计算机可能用 1 或 0 代替),由于输入...
如果你输入A,getchar()=='A'为真。。就是1 输入其它,getchar()=='A'为假,就是0 赋值是另一种运算符,通常具有混合的优先级。例如,考虑下面这个用于复制文件的循环:while(c = getc(in) != EOF)putc(c, out);这个while循环中的表达式看起来像是c被赋以getc(in)的值,接下来判断是否...
是1的情况即是说你的已经按下键盘让getchar()取得了'A'的值 当程序运行到这条代码的时候,会等待你输入字符,如果你输入的字符不是A,而且a或其他字符,那ch就会为0,并且退出循环,如果你输入A,那ch就为1,并且循环继续,直到你输入非A的字符为止 ...
关系运算符 '==' 比赋值运算符 '=' 的优先级高 所以 ch = getchar()=='A' 相当于 ch = ( getchar()=='A' )即先输入字符并判断是否等于 'A' ,再将结果赋给 ch 输入字符 'A' 后,与 'A' 相等,所以ch =( getchar()=='A' )=1 ...
这个考的比较综合。答案中ch值为0是正确的。知识点1,==优先级高于=,所以语句优先执行后面的getchar()=='A',输入A后,第一次判断结果是相等的,此时ch=1。但是此时还没有结束。知识点2,注意到这个while语句只有条件,没有{}括号中的循环体了吗?while()之后直接分号结尾,说明他的循环体是一...
所以getchar()=='A' 先执行,'A' == 'A',这个表达式值为1(真),所以ch=1,这是while中的条件也为1,所以while继续执行。这是读入的字符是回车符,回车符显然≠'A',所以getchar()=='A' 这个表达式的值为0(假),所以ch=0,这是while里的条件为0了,所以while退出。所以ch为0 ...