关于c语言程序的写法

来源:百度知道 编辑:UC知道 时间:2024/05/28 15:22:17
下列条件语句中,功能与其他语句不同的是( )
A)if(a) printf("%d\n",x); else printf("%d\n",y);
B)if(a==0) printf("%d\n",y); else printf("%d\n",x);
C)if(a!=0) printf("%d\n",x); else printf("%d\n",y);
D)if(a==0) printf("%d\n",x); else printf("%d\n",y);
希望写出选项和原因,谢谢!!!

D
因为B是对的,所以D是错的。哈哈

if(a)等价于if(a!=0)于是C是对的。而B意思是a==0的时候打印y,等价于A

D

if(a)等同于if(a!=0),与if(a==0)相反

if(a) printf("%d\n",x); else printf("%d\n",y);
这句话的意思是:当条件a为真(true)时打印x,否则打印y.
对于数据a来说,为真(true)时就是不等0的任意数,为假(false)是就是等于0的数,这样则刚刚与B、C相同,与D相反

我建议的答案是A,原因如下:
B选项,if语句恒为假,所以只能输出x
C项,if语句恒为真,所以只能输出x
D项,if语句恒为假,所以只能输出y
再看A项,由于a的值不确定,可能为0,也可能是非0,所以输出的值可以由我们自己通过定义a的值,来控制输出是x还是y。
综上所述,A的功能与其他的三个不同!
不知道我的答案对不,仅供参考!

A吧
A里面的a只能是bool类型。

其他里面的a要么是整型,如果是bool类型的话还得向int类型做隐式转换。