C语言问题,求大神

[复制链接]
查看11 | 回复5 | 2012-12-20 15:47:17 | 显示全部楼层 |阅读模式
因为x=2不是"x等于2"而是将2赋值给x;应该改为x==2;这里赋值语句的返回值为2,非0,即使正确的,所以if成立,执行对y的赋值,所以答案是2、3...
回复

使用道具 举报

千问 | 2012-12-20 15:47:17 | 显示全部楼层
int x=1;y=1;if(x=2)// x=2, C语言中大于1 就是真y=3;所以是这里y=3else y=4...
回复

使用道具 举报

千问 | 2012-12-20 15:47:17 | 显示全部楼层
int x=1,y=1;if(x=2)//这里是赋值语句,所以永远成立,X=2,然后执行下条语句
y=3;//Y=3else //不执行
y=4 // 不执行注意=和==的区别哦...
回复

使用道具 举报

千问 | 2012-12-20 15:47:17 | 显示全部楼层
if(x==2)//==...
回复

使用道具 举报

千问 | 2012-12-20 15:47:17 | 显示全部楼层
if (x =2)y =3;//这句话,把2赋给了x ,并且返回一个true,其实编译器做的是:x =2;if(true) y=3;于是x为2,y为3如果要看x是不是2,正确的程序是:if (x == 2) y=3;elsey=4;...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行