c语言 int x=3,y=2 ,z=1

C\u8bed\u8a00\u4e2d int x=1,y=2,z=3;\u5219z+=x>y?++x:++y \u7684\u503c\u4e3a\u591a\u5c11\uff1f\u4e3a\u4ec0\u4e48\uff1f \u6c42\u5927\u795e\u6307\u6559

\u7b54\u6848\u5e94\u8be5\u662f6.\u56e0\u4e3a\u5148\u8fdb\u884cx>y?\u8fd9\u4e2a\u5224\u65ad\uff0c\u800cx>y\u4e3a\u5047\uff0c\u6240\u4ee5z+=++y,++y\u7684\u503c\u662f3\uff0c\u6240\u4ee5z+=3,\u672c\u6765z=3,\u6240\u4ee5z\u7684\u503c\u4e3a6

x=+3==2\u4f60\u53ef\u4ee5\u7406\u89e3\u6210 x=((+3)==2)\uff0c\u662f\u5224\u65ad+3(\u6b633)\u662f\u4e0d\u662f\u7b49\u4e8e2\uff0c\u5f53\u7136\u4e0d\u7b49\u5566\uff0c\u6240\u4ee5x=0
\u81f3\u4e8e intz=(x+y)++\u4e3a\u4ec0\u4e48\u662f\u9519\u7684\uff0c\u8fd9\u4e2a\u539f\u56e0\u6709\u5f88\u591a\u3002\u9996\u5148\u4f60\u5e94\u8be5\u5199\u6210 int z=(x+y)++;\uff08int \u548c z\u6709\u7a7a\u683c\uff0c\u6700\u6709\u6709\u5206\u53f7\uff09\u3002\u5176\u6b21\uff0cx\u548cy\u4f60\u5b9a\u4e49\u4e86\u5417\uff1f\u5b9a\u4e49\u6210\u6574\u5f62\u4e86\u5417\uff0cx\u548cy\u521d\u59cb\u5316\u4e86\u5417\uff1f

对于1:它的实质就是
x=++Z*y;
x=y++;
x=z%y;
这样你就知道答案了。
执行第一句:z=2,y=2,x=4;
第二句:x=2,之后y=3;
第三句:x=2%3,故x=2;
对于2:
如果是y=(--Z&&--X),那么--Z就是0,那么0与2也是0

1中应该是2
2中应该是3
解释一下吧,第一个为逗号表达式,表达好似值为最后一个的值也就是z % y的值,++z后为2,y为3
第二个,--z为0所以不会执行--x。

1个题〈4.2.l〉2个题z为0.x为2

扩展阅读:c++编程 ... sin cos tan 关系对边 ... c语言int a 3 4 什么意思 ... c语言 int转化为int ... int x什么意思 ... sin(x+y) ... tanx-sinx ... c#编译器手机版下载 ... c语言int含义 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网