C语言若变量已正确定义,在执行以下while语句时,输入字符A后,ch的值是

while(ch=getchar()=='A'),书上答案为0... while(ch=getchar()=='A'),书上答案为0 展开
 我来答
司空经业
2011-09-09 · TA获得超过102个赞
知道答主
回答量:55
采纳率:0%
帮助的人:17.7万
展开全部
while(ch=getchar()=='A');
这个其实执行了两次,
你输入了A后敲了回车,这时getchar()得到的是字符'A',由于==的优先级高于=
所以getchar()=='A' 先执行,'A' == 'A',这个表达式值为1(真),所以ch=1,这是while中的条件也为1,所以while继续执行。
这是读入的字符是回车符,回车符显然≠'A',所以getchar()=='A' 这个表达式的值为0(假),所以ch=0,这是while里的条件为0了,所以while退出。
所以ch为0
追问
为什么ch=1,while也等于1
创作者Xm3QKqxdzF
2019-07-17 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.5万
采纳率:28%
帮助的人:759万
展开全部
你好!
你的语句想表达什么?getcher()是从终端输入一个字符,你如果想令ch='A',while括号里可以直接ch==‘A’
仅代表个人观点,不喜勿喷,谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
墨墨龙
2011-09-08
知道答主
回答量:14
采纳率:0%
帮助的人:9.6万
展开全部
你的语句想表达什么?getcher()是从终端输入一个字符,你如果想令ch='A',while括号里可以直接ch==‘A’
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
windows7287
2011-09-08
知道答主
回答量:53
采纳率:0%
帮助的人:17.4万
展开全部
你的语句不全啊,这句的意思是当你输入的字符是否等于字符A的ASCII码。
追问
书上就这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bspan2001
2011-09-08
知道答主
回答量:7
采纳率:0%
帮助的人:1.2万
展开全部
同意“furious_tauren”说的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式