语句x = (a = 5,b = ++a); 运行后,x、a、b的值依次为?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 22:36:14
语句x = (a = 5,b = ++a); 运行后,x、a、b的值依次为?
我想知道a的值到底是5还是6?
我想知道a的值到底是5还是6?
结果都是6,整个表达式运算结果如下.
0.你首先要牢记,当一个变量被赋予一个新值的时候,旧值就没有了
1.a首先被赋予5这个值.
2.++在前面是先加后算,所以a先自增为6,这时候5就已经没有了.
3.a自增过后,b被赋予运算过后的a,也就是6了.
4.因为逗号表达式(括号中多个逗号的就是逗号表达式,一般最后计算)的值总是取括号中的最后一个,所以x取b的值,还是6.
不信可以自己写程序试试……
扩展一下,考虑下面这个表达式:
int x,a,b,c;
x = (a = 5, b=a++,c=++a,456,789);
//肯定先从括号中开始算起.
//a刚开始等于5
//b=a++,++运算在后,先算后加,先把a的5给b,然后把a加1,此时b为5,a为6
//c=++a,++运算在前,先加后算,因为上一个式子a已经是6了,所以a再加1,变成7,再给c,此时a为7,c也为7.
//最后才算逗号,x肯定是取后面一个的值,也就是789.
//所以最后x=789,a=7,b=5,c=7
因为不知道你是学C,还是C++的,这两个式子,具体编程输出方法我就不写了.
0.你首先要牢记,当一个变量被赋予一个新值的时候,旧值就没有了
1.a首先被赋予5这个值.
2.++在前面是先加后算,所以a先自增为6,这时候5就已经没有了.
3.a自增过后,b被赋予运算过后的a,也就是6了.
4.因为逗号表达式(括号中多个逗号的就是逗号表达式,一般最后计算)的值总是取括号中的最后一个,所以x取b的值,还是6.
不信可以自己写程序试试……
扩展一下,考虑下面这个表达式:
int x,a,b,c;
x = (a = 5, b=a++,c=++a,456,789);
//肯定先从括号中开始算起.
//a刚开始等于5
//b=a++,++运算在后,先算后加,先把a的5给b,然后把a加1,此时b为5,a为6
//c=++a,++运算在前,先加后算,因为上一个式子a已经是6了,所以a再加1,变成7,再给c,此时a为7,c也为7.
//最后才算逗号,x肯定是取后面一个的值,也就是789.
//所以最后x=789,a=7,b=5,c=7
因为不知道你是学C,还是C++的,这两个式子,具体编程输出方法我就不写了.
语句x = (a = 5,b = ++a); 运行后,x、a、b的值依次为?
.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为
执行语句“x=(a=3,b=a--)"后,x,a,b的值依次为多少?
若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为().
执行语句"x=(a=3,b=a--)"后 x,a,b的值依次为多少?怎么算的?
c语言题:执行语句x=(a=3,b=a--)后,x、a、b的值依次是?
16.int b=0,x=1; 执行语句“if(x++) b=x+1;”后,x,b的值依次为( ).A.2,3 B.2,
若已定义:int a=5,b=9,c=6; 则语句 b++; ++c; a=b-c; 运行后a的值为
C语言中执行语句X=(a=3,b=a--);后,x,a,b的值依次是3,2,3,求x,a,b的运算过程…
JAVA题 int a=3,b=4,x=5; if( ++a==b ) x=++a*x; 运行后X的值是多少啊
若已定义:int t,a,b;语句t=(a=3,b=a++);执行后,变量t、a、b的值依次为
设a=”a”,b=”b”,c=”c”,d=”d”,执行语句x=Iif((ad),”A”,”B”)后,x的值为