C#考题中的一道题——功能与其他语句不同

来源:百度知道 编辑:UC知道 时间:2024/05/17 15:24:36
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就交换了个XY,为什么功能就不一样了?

A:如果a为真(不等于0就为真),就打印x,否则打印y;
B:如果a等于0;就打印y,否则打印x;
C:如果a不等于0,就打印x,否则打印y;
D:如果a等于0,就打印x,否则打印y;

反正A,B,C都是:如果0就打印y,否则x;
只有D相反。

选D,是因为A)if(a) printf("%d\n",x); else printf("%d\n",y);
这个条件是说a!=0,打印x,否则打印Y,bc都是打印!=0打印X,只有D,是反得

我首先说下你说的不是C#的问题,是C语言的问题,C#没有printf语句,同样 你说功能只有c语言还是保留if()括号内用不为零的数字表示真
现在你应该知道if(a),这个意思是当a为0时是假的,意思当a为0那么就执行printf("%d\n",y),那么看b答案,当a为0时候输出y,同样c答案,当a不等于0时输出x,等于时就输出y,所以你只要能明白c语言里面,真是一切非零数值,所以当a为9或者别的数字时是真,只有a为0时是假。
回到答案d很明显是当a为0时输出x你看看和abc正好相反
这个我个人认为是其他C# 和java比c语言进步的地方,其他语言都有bool类型,这么做就让比较有意义了。

A答案,当a不为0(为0就是假了)的时候,输出x的值,否则输出y的值
B,当a为0的时候输出y,不为0输出x
C,当a不为0,输出x(这里是显式的说了出来,A答案则不是,但是意思一样)
D,就是当a为0的时候输出x···这个就和上面的都不一样了

C语言啊,好好学吧

你爷爷的 跟我以前一样 没看过书