这两道c语言题怎么做?

谢谢

(8)的结果应该是534;(10)的结果应该是abc
解析:(8)赋值a=4,b=3,c=5,t=0,判断a和b的大小,a<b不成立,跳过;判断a和c的大小,a<c成立,执行后面的命令,t=a=4,a=c=5,c=t=4,此时a=5,b=3,c=4,t=a。输出a,b,c即534。
(10)赋值a=3,a--相当于a-1=2<3成立,所以直接执行后面的语句,输出abc
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-23

第一题解析如下:

#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

楼主若觉得回答有所帮助,望采纳,谢谢!

本回答被提问者采纳
第2个回答  2019-05-23
这两道c语言题怎么做?