以下程序运行后的输出结果是______________

main( )
{
int a=3,b=4,c=5,t=99;
if(b<a&&a<c)
t=a;
a=c;
c=t;
if(a<c&&b<c)
t=b;
b=a;
a=t;
printf("%d%d%d\n",a,b,c);
}

答案是:99 5 99
(解析上说"a<c&&b<c"为假,不执行“t=b;"可是第一个if语句执行完后a=5,b=4,c=99啊,怎会假的呢?主要是对a的值有疑问,为什么不是4,求解!)

第1个回答  2011-04-09
答案不对,应该是:4599 也就是 a=4 b=5 c=99
分析:
main( )
{
int a=3,b=4,c=5,t=99;
if(b<a&&a<c) 为假
t=a; b<a不成立,不执行
a=c; 没有大括号 所以执行,a=5
c=t; 没有大括号 所以执行,c=99
if(a<c&&b<c) 为真
t=b; 执行,t=4
b=a; 执行,b=5
a=t; 执行,a=4
printf("%d%d%d\n",a,b,c); 输出:4599
}
第2个回答  2011-04-09
1 你答案不对,是:4 5 99
2 分析:
main( )
{
int a=3,b=4,c=5,t=99;
if(b<a&&a<c)
t=a; //b<a不成立,此行不执行。
a=c; //执行,a=5。
c=t; //执行,c=99。
if(a<c&&b<c)
t=b; //执行,t=4。
b=a; //执行,b=5。
a=t; //执行,a=4。
printf("%d%d%d\n",a,b,c); //输出:a=4,b=5,c=99
}本回答被提问者采纳

以下程序运行后的输出结果是___main(){inta=23;printf('%d n...
【答案】:2 解析:(a\/3<0?a\/10:a%3),因为a=23;次表达式为三目运算,是说,如果a\/3<0为真,即取值a\/10;反之,取值a%3;但a\/3>0,所以a\/3<0为假,即输出的结果为:a%3的余数,即为2。

6、以下程序运行后的输出结果是 。 int f(int a[], int n) { if...
答案是:15 f函数执行的是一个迭代,把数组aa里的每个元素的值都相加。

以下程序运行后的输出结果是() main() {char m; m='B'+32; printf("%...
第一句是定义一个主函数 第二句是定义字符型变量m 第三句是将B的Ascll码值66加上32赋给m,m的Ascll码值为98 第四句是将变量m以字符型输出 ,Ascll码为98在Ascll字符编码表中对应字符b 故输出b

二级c语言题目 以下程序运行后的输出结果是___ main(){ int x=0210...
所以答案是88

10、以下程序程序运行后的输出结果是( )。int f(int n){ static int...
int f (int n)int f(int n){ static int a=1;n+=a++; return n;} 函数里的a是静态变量,函数返回时不内存不回收,所以第一次进入函数时a为1,第二次为2 n+=a++相当于n=n+a++,a++表示先使用a,再自加1。所以第二次进来时a=2;然后选c很清楚了吧 ...

程序运行后的输出结果是___。
5):有以下程序 main(){ char a='a',b;printf("%c,",++a);printf("%c\\n",b=a++);} 程序运行后的输出结果是___。A、b,b B、b,c C、a,b D、a,c 答案:A 评析:【参考答案】本题答案为 A 选项。【试题解析】语句“printf("%c,",++a);”中,“++a”是在变量a 使用之...

以下程序运行后,输出结果是( ) main() { char *s="abcde"; s+=2...
选择答案C,输出的为字符c的地址。因为%d是打印整形变量的值,因为前一句执行了s+=2,s指针偏移了两个位置,偏移了两个位置之后s指向的是字符c,所以输出语句输出的是指针s,而s存放的是地址,所以输出的就是字符c所在的地址。

以下程序运行后的输出结果是 main() {int a,b,c; a=1;b=3;c=5; pri...
结果是3,10啊。这主要是由于自增操作符++前置还是后置决定的,比如说++a,就是先自增再使用,而a++就是说先使用再自增。执行printf(“%d,%d\\n”,(++a,b++),a+b+c)这条语句的过程中,a=2(就是说已经自增了),b=3(还没自增)。等这条语句执行完之后,那么a=2 b=4~...

以下程序运行后的输出结果是___。 main() { int x=10; printf("%d,%d...
c语言函数参数处理顺序-从右向左 printf是函数,遵循这个规律 所以先执行后面的--x,那么第二个参数就是--x就是9,执行完第二个参数后,x就变成9了,再执行第一个参数--x就是8

以下运行程序后的输出结果是#include<stdio.h>main(){int x=1,y=1...
首先指出程序中的三处错误,第一个是int m n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一...

相似回答