如题所述
第1个回答 2023-12-27
这个考的比较综合。答案中ch值为0是正确的。
知识点1,==优先级高于=,所以语句优先执行后面的getchar()=='A',输入A后,第一次判断结果是相等的,此时ch=1。但是此时还没有结束。
知识点2,注意到这个while语句只有条件,没有{}括号中的循环体了吗?while()之后直接分号结尾,说明他的循环体是一个空语句。如果while()括号中的值非零,他会一直循环到0才会停止。
回到这个题目,刚才说到第一次ch=1,()条件非零,继续循环。第二次他会取回车符(ASCII码值为13)进行判断,显然第二次getchar()=='A'不成立,值为0。所以,while循环完毕之后,ch的值最终为0。
知识点1,==优先级高于=,所以语句优先执行后面的getchar()=='A',输入A后,第一次判断结果是相等的,此时ch=1。但是此时还没有结束。
知识点2,注意到这个while语句只有条件,没有{}括号中的循环体了吗?while()之后直接分号结尾,说明他的循环体是一个空语句。如果while()括号中的值非零,他会一直循环到0才会停止。
回到这个题目,刚才说到第一次ch=1,()条件非零,继续循环。第二次他会取回车符(ASCII码值为13)进行判断,显然第二次getchar()=='A'不成立,值为0。所以,while循环完毕之后,ch的值最终为0。