55问答网
所有问题
C语言中: int x,a,b; x=(a=3,b=++a); x为什么等于4
如题所述
举报该问题
推荐答案 2016-10-09
(a=3,b=++a)是逗号表达式,计算机会顺序执行其中的语句,整个表达式是最后一个语句的计算结果
先执行a=3;现在变量a的值为3
然后执行a++;由于++出现在变量a前面,所以这个自加运算会在给变量b赋值之前执行完毕
接着执行b=a;则最后一个语句的结果就是b的值
最后执行x=b;所以x的值是4
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/cFRRGILLeFQQGGQ8QF.html
其他回答
第1个回答 2016-10-09
逗号表达式,顺序求值,表达式为最后一个表达式的值,即x为b的值,而b的值是++a的值,a是3,前加加就是先加变为4,赋给b,当然是4了,b是4,x就是4
第2个回答 2016-10-09
括号内,从左到右运算 a=3了,,,然后++a是4,再赋给b,,,,最后x=4
~
相似回答
在
C语言中
-19%
4为什么等于
-
3
?
答:
C语言中:
int
x,a,b;
x=(a=3,b=++a);
x为什么等于4
(a=3,b=++a)是逗号表示式,计算机会顺序执行其中的语句,整个表示式是最后一个语句的计算结果 先执行a=3;现在变数a的值为3 然后执行
a++
;由于++出现在变数a前面,所以这个自加运算会在给变数b赋值之前执行完毕 接着执行b=a;...
在
c语言中,
语句
x= (a=3, b=++a);
运行后,
x,a,b
的依次为 注:需要步骤
答:
首先
a=3
.
b=++a
=4.逗号表达式为最右边式子的值,所以
x=4
语句
x=(a=3,b=++a);x等于
多少,能详细点说明运行过程麽
答:
最后执行x=(a=3,b=++a),因为(a=3,b=++a)的值是b,此处相当于将b赋值给x。
通过先前的分析知道b此时的值为4,因此x最后也等于4
。
C++
语言中a=3,c=++a,
那a
为什么
会变成4?
答:
c=++a
*
b;
//a先自增,此时为4,然后与b相乘,得到的值20赋值给c。c即为20 d
=a++
*b;//a(此时值为4)先与b相乘,得值20赋值给d,d的值为20.然后a自增,此时a变成5 经过以上分析,我在自己的编译器上测试后得到结果
:a=
5
,b=
5
,c=
20,d=20;那么教材始终是教材,出错是难免的了,恭喜...
这段代码中的变量
b为什么
输出
等于4
?
答:
c在进行逻辑判断的时候,遇到可以结束的逻辑判断就不在进行判断了,就是在判断
(++a
<0)&&!(--b<=0)时,因为(++a<0)是false 所以无论!(--b<=0)是true还是false都不影响结果就不执行(--b<=0)的判断了,所有直接输出
b=4
大家正在搜
相关问题
C语言中: int x,a,b; x=(a=3,b=++a)...
C语言的一道题int x, a, b; 语句x=(a=1, ...
c语言中x+a%3*(int)(x+y)%2/4 x=2.5...
c语言 int a=3;b=4;计算a+b%(a+b)/a+...
C语言x=(a--==--b)?--a:b--是什么意思
c语言中 若a=6;b=2;x=3;则a>=x>=b的值为0...
C语言中 int a = 3, b; b = a = -a+...
c语言,, int a=3,b=4; (a++)*b++等于...