hyqd.net
当前位置:首页 >> C语言中int A=1,B=2,C=3; C=(A+=A+2),(A=B,B+3); printF >>

C语言中int A=1,B=2,C=3; C=(A+=A+2),(A=B,B+3); printF

int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); 相当于两个顺序语句:先运行了c=(a+=a+2)这个语句得出c=a=a+1+2=4;然后运行a=b,b+3;得出a=b=2;后面的b+3单纯是迷惑人而已,不起作用.所以输出的答案是a=2,b=2,c=4;

是2 4 1运算如下:a=1 a++=a+1=1+1=2b=2 b+a=2+2=4c=3 c/2=1.5取整为1.望采纳

2,2,5

if(a>b>c)a=b;else a=c a>b>c这个算法是从左到右的,也就是先算a>b成立,为1,然后再算1>c,此时c=1,所以if条件不成立,执行else语句.也就是a=c=1.即a=1.

是 c=(++a)+(b++) =2+2=4 望采纳!!!

括号中的a,b,c叫做“逗号表达式”,是从左到右计算各个值并取最右边那个计算表达式的值前面的sum=即是赋值,把这个逗号表达式的值赋给刚刚定义的sum整数型变量.注意,a,b,c这个逗号表达式必须用括号括起来.因为逗号表达式的优先级比赋值符号(等号)的优先级还低,如果不加括号的话,赋值用的等号与逗号运算并存时会先算赋值等号,后算逗号表达式.括号的作用就是使a,b,c这个逗号表达式优先计算.前面有a=1 b=2 c=3,那么这个逗号表达式会取最后一个表达式c的值,也就是3,然后赋值给sum,因此sum的值也就等于3

#include<stdio.h>int main() { int a=1,b=2,c=3; c=((a+=a+2),(a=b,b+3)); printf("%d,%d,%d\n",a,b,c); return 0; }这样就是c=5,lZ明白了么

1. a 和 b 都还是 2.2. 因为赋值之后, 执行 c = c+1; 只是 c 的值加 1 编程 3. 对变量 a 和 b 没有影响.3. 按语法说,其实你上面的写法是错的,编译会报错说: b, c 未定义,应该如下写.int a, b, c; a = b = c = 2;

a=b=c //将c的值3赋给b,再将b=c的值3赋给a,整个表达式的值是3 a=b==c //VC2005测试结果是3,我自己算应该是1,这个我不是很清楚.a==(b==c) //先判断b==c,结果是1,再判断a==1,结果是0 a==(b==c) //先判断b==c,结果是1,再判断a==1,结果是0

a_c是什么?写错了吧? 如果是a-c 就好算了 a+=2 后a等于3,第二句对a不影响,跳过,第三句 a-c = 0 . 逗号表达式取值是最右边的,所以表达式等于0

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.hyqd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com