int x=10,y; y=(x++)+(--x); printf("%d,%d",x,y); C语言运行结果 是10,
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 08:44:01
int x=10,y; y=(x++)+(--x); printf("%d,%d",x,y); C语言运行结果 是10,18;18怎么解释?
坐等详解
坐等详解
这种题不做也罢.
勉强分析一下:
y=(x++)+(--x);
等号右边的先运算,即 先运算 (x++)+(--x); 从左向右顺序运算
x++ 意思是先用x 再x=x+1 ,注意这里是用x而不是用 10这个值 ,因此,到此时,x值还是10
--x意思是先操作 x=x-1,再用x , 此时,x=x-1后,x=9
计算 x+x = 9+9=18
别忘了,前面x++,只用了x, 这时经进行x=x+1=10了
因此,结果会是 x=10 y=18
这种写法与具体的编译器还有关系,实际应用没有人会这样写代码的.纯粹是学术YY,所以,意义不大.
勉强分析一下:
y=(x++)+(--x);
等号右边的先运算,即 先运算 (x++)+(--x); 从左向右顺序运算
x++ 意思是先用x 再x=x+1 ,注意这里是用x而不是用 10这个值 ,因此,到此时,x值还是10
--x意思是先操作 x=x-1,再用x , 此时,x=x-1后,x=9
计算 x+x = 9+9=18
别忘了,前面x++,只用了x, 这时经进行x=x+1=10了
因此,结果会是 x=10 y=18
这种写法与具体的编译器还有关系,实际应用没有人会这样写代码的.纯粹是学术YY,所以,意义不大.
int x=10,y; y=(x++)+(--x); printf("%d,%d",x,y); C语言运行结果 是10,
main() { int x=10; int y=x++; printf("%d,%d\n",(x++,y),y++);
c语言:main()?{int x,y,z;?x=y=1;?z=x++,y++,++y;?printf("%d,%d,%
小弟刚学C语言,有个题不懂希望各位大虾帮忙:int x=12,y;y=x>12?x+10:x-12;printf("%d
int x=10,y=20; main() {func();printf("%d,%d\n",x,y);} func()
C语言 main() {int x,y; x=11/3;y=5; printf("%%d,%%%d\n...
C语言中printf(("%d%d",x,y,(x,y))
关于c语言的一道题。设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x
求下列程序的运行结果main(){int x=6,y,z;x*=18+1;printf("%d,",x--);x+=y=
几道C语言的题目 int X=78 char y='A' printf("%d",(x,y))
int x=3,y=4; printf("%d,%d",(x.y),(y,x));
c语言自增自减运算题目 int x=5,y; y=2+(x+=x++,x+8,++x); printf("%d",y);