若输入字符B ,则语句“while (ch =getchar()=='B');”执行后ch的值是_谢谢!求解释!

[复制链接]
查看11 | 回复2 | 2012-3-21 22:03:49 | 显示全部楼层 |阅读模式
犹豫==的优先级比赋值符高ch=getchar()=='B';这个执行顺序是输入先和'B'比较,然后比较结果给ch所以输入B之后,所以getchar()=='B',结果为1,ch的值被赋为1,循环继续。但是你输入B之后需要回车之类的确认输入,此时,输入流里会有个回车,回车!='B',结果为0,ch被赋值为0,循环结束...
回复

使用道具 举报

千问 | 2012-3-21 22:03:49 | 显示全部楼层
#includeint main(){
char ch;
while(ch = getchar() == 'B'){
printf("%c\n", ch);
}
retrun 0;}用这个程序测试,输入B之外的直接退出。 输入B后打印ascii码为1的字符。 ==优先级高于赋...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行