第一个if后面,第一个语句不执行,a=5,c=9;四个值分别为:a=5,b=4,c=9,t=9。
第二个if后面,第一个语句执行,t=4,b=5,因为if后面第一句里 t 的值已经变为4了,所以此时的 a=t;执行后的结果为a=4。
最后,输出a,b,c的结果为,a=4 ,b=5 , c=9。
望采纳。
解析如下:
void main()
{
int a=3,b=4,c=5,t=9;
if(b<a&&a<c) //b<a为假下面语句不执行
t=a;
a=c; //此时 a=c a值为5
c=t; //此时 c=t c值为9
//各个值情况, a=5,b=4,c=9,t=9
if(a<c&&b<c) // c>a 且c>b为真
t=b; //t=b t值为4
b=a; //b=a b值为5
a=t; //a=t a值为4
printf("%d %d %d",a,b,c); //输出 4,5,9
}
把;改成,
分号惹的祸