主要不明白a的值,括号里我知道是赋值语句,但是y的值怎么算到5的?请具体说明运算顺序!#includeint main(){ int a,b,c;int x=5,y=10;a=(--y=x++)?-y:++x;printf("%d,%d\n",x,y);b=y++;c=x;printf("%d,%d,%d",a,b,c);}
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 09:17:46
主要不明白a的值,括号里我知道是赋值语句,但是y的值怎么算到5的?请具体说明运算顺序!#includeint main(){ int a,b,c;int x=5,y=10;a=(--y=x++)?-y:++x;printf("%d,%d\n",x,y);b=y++;c=x;printf("%d,%d,%d",a,b,c);}
主要不明白a的值,括号里我知道是赋值语句,但是y的值怎么算到5的?请具体说明运算顺序!
#include
int main()
{ int a,b,c;
int x=5,y=10;
a=(--y=x++)?-y:++x;
printf("%d,%d\n",x,y);
b=y++;
c=x;
printf("%d,%d,%d",a,b,c);
}
主要不明白a的值,括号里我知道是赋值语句,但是y的值怎么算到5的?请具体说明运算顺序!#includeint main(){ int a,b,c;int x=5,y=10;a=(--y=x++)?-y:++x;printf("%d,%d\n",x,y);b=y++;c=x;printf("%d,%d,%d",a,b,c);}
#include
int main()
{ int a,b,c;
int x=5,y=10;
a=(--y=x++)?-y:++x;//--y得y=9,然后y=x++,即y=5,x=6,接着5?成立a=-y=-5
printf("%d,%d\n",x,y);//最后x=6(只计算x++,++x未算) ,y=5(--y,y=x++即y=5)
b=y++;//b=y=5,y=y+1=6
c=x;//c=x=6
printf("%d,%d,%d",a,b,c);//a=-5,b=5,c=6
}