int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 21:39:25
inta=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);inta=10,b=50,c=30;if(a>b)a=b;b=c
int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);
int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);
int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);
结果应该是
a=10 b=30 c=10
因为a=b是在if的作用域内部,其他两个赋值都不是
所以a>b不成立,a=b不执行
b=c执行,b=30
c=a执行,c=10
if作用域判定是:
if有大括号的话,作用域是大括号括住的部分,没有大括号的话,作用域是if开始到第一个分号截止,while与for类似