第一题解析如下:
#include <stdio.h>
int main()
{
int a=4,b=3,c=5,t=0;//执行后:a=4,b=3,c=5,t=0;
if(a<b) //不成立
t=a; //不执行
a=b;//执行后:a=3,b=3,c=5,t=0;
b=t;//执行后:a=3,b=0,c=5,t=0;
if(a<c) //成立
t=a; //执行 执行后:a=3,b=0,c=5,t=3;
a=c;//执行后:a=5,b=0,c=5,t=3;
c=t;//执行后:a=5,b=0,c=3,t=3;
printf("%d,%d,%d\n",a,b,c);//输出:5,0,3
}
运行结果:
5,0,3
第二题解析如下:
#include <stdio.h>
int main()
{
int a=3;
if(a--<3)
printf("abc\n");
else
printf("123\n");
//解析如下:
//a--表示先使用a,再对a进行减1的操作
//--a表示先对a进行减1的操作,再使用a
//所以if(a--<3)等价于==>if(a<3) a=a-1;
//所以if...else...代码块可写为:
int b=3;
if(b<3){
b=b-1;
printf("abc\n");
}else
printf("123\n");
}
运行结果:
123
123
楼主若觉得回答有所帮助,望采纳,谢谢!
本回答被提问者采纳