。。因为把x的值赋给t的那个语句t=x是受if语句控制的,但是条件不成立,所以那一句没有执行啊
实际就是这样
{
int x=10,y=20,t=0;
if(s==y) //不成立
{
t=x;
}
x=y;
y=t;
}
所以x的值是y的值,y的值是t的值
//因为if后面没有括号,默认的,if后面的第一句话,是属于if成立之后执行的,所以
//原来的code,相当于
#include "stdio.h"
main()
{ int x=10, y=20, t=0;
if ( x == y ){ //这里加上大括号应该就清楚了
t=x ; //因为x!=y所以这个没有执行
}
x=y ; //之后x = 20;
y=t ; //y的结果是0
printf( "%d %d\n",x, y );
}
#include "stdio.h"
main()
{ int x=10, y=20, t=0;
if ( x == y ) t=x ; x=y ; y=t ;
printf( "%d %d\n",x, y );
}
因为if 后面只有一句 t=x; 且这句不执行。
x= y; x=20
y=t ; y=0,t=0