若int a=7,b=8;则printf("%d,%d" (a=b,a),(b,a+b))的输出结果是
输出是8,16 (a=b,a)这是一个逗号表达式,它的结果是括号中最后一个表达式的值,也就是a,可是因为括号中没一个表达式都会进行计算,所以这个表达式的计算顺序是这样的,,首先计算a=b,所以现在a=8,然后计算最后一个表达式a,所以a的结果就是这个表达式的结果。在看(b,a+b),由于(a=b,a)这...
设int a=7,b=8,则printf(“%d,%d\\n",(a+b,a),(b,a+b))的输出结果是什么...
(a+b,a)这里涉及到逗号运算符的先后顺序,他是从右到左计算,在这个式子里,先将a的值返回给printf的%d,然后再计算a+b的值,对于第二逗号运算同理,将a+b的只返回给了printf,所以得到的结果是7,15 希望帮你解决了问题
...int a=3,b=2; printf("%d,%d",b=a<b,a=a<b); 求输出结果,要详细...
故:后一个a<b为假所以a=0;前一个a<b为真所以b=0;因此输出为1 0
int a=3,b=2;printf("%d,%d",b=a<b,a=a<b);输出答案是什么 ?为什么呢...
输出结果:1,0 赋值的优先级比逻辑低,先是算a=a<b,a<b 3<2结果为0,赋值给a, 即a=0 然后执行前面b=a<b,a<b 0<2(注意a=0) 结果为1, 然后赋值给b ,即b=1 。所以结果为:1,0
已有声明“int x,a=3,b=2;”,则执行赋值语句“x=a>b++?a++:b++...
该赋值语句可以写成这样 if(a>b++)\/\/a大于b++ 执行完成后b=3;{ x = a++;\/\/a++后a的值为4 赋值语句自右向左x为3 } else { x = b++;\/\/不执行 } 因此x,a,b为3,4,3.
一道c语言选择题,大家能帮我解释一下吗
逗号表达式,(a,b)算法规则是从左向右计算,返回的值取最右边的 所以printf("%d,%d",(a,b),(b,a));相当于printf("%d,%d",b,a);在例如,这个题如果是这样的话,设inta=3,b=4;执行printf("%d,%d",(a+b,b),(b,a+b));后的输出结果就是4(b的值),7(a+b的值)。不懂可...
...{ int a=3,b=4; printf("%d,%d",(a,b),(b,a)); return 0; }_百...
逗号表达式 (a,b)整个逗号表达式的值是b的值为4 (b,a)整个逗号表达式的值是a的值为3 所以输出的结果是4,3 希望能够帮到您。
int a=1,b=2; printf("%d",(a==b)?a:b); 的答案是什么?怎样得来的...
(a==b)?a:b中的?:是c语言中唯一的三元式,即?之前的表达式为‘真’,则返回:之前的值;否则返回:之后的值。谢谢采纳
int a=1,b=2; printf("%d",(a==b)?a:b); 的答案是什么?怎样得来的...
(a==b)?a:b 是叁目运算, 格式为:条件表达式? x :y 当条件表达式为真(非0)时,执行x处的运算;当为假(0)时,运行y处的运算。本题说 a等于b,而实际a是不等于b的,所以表达式是假,就取b的值 2 , 答案为:2
int a=2;printf("%d,%d",++a,a*=2);输出什么
这段代码的运行结果是确定的:5,4。原因:printf函数的参数表遵循从右至左计算规则,即先计算a*=2,使a=4压栈;然后再计算++a使a=5压栈;再从左至右(实质是栈操作后进先出)弹出来输出到屏幕上。