求一道二级C语言问题的解答
在做二级C的一道课后习题中,问:请写出以下程序的输出结果______。#include<stdio.h>main(){inta=100;if(a>100)printf("...
在做二级C的一道课后习题中,问:请写出以下程序的输出结果______。
#include <stdio.h>
main()
{ int a = 100;
if ( a > 100 ) printf ( "%d\n", a >100);
else printf( "%d\n", a <= 100);
}
我求出来的答案是100。我的理由是这样的:因为a=100,不符合if后面的表达式,执行else子句,所以输出a,也就是100.
然而课本后面的答案是1,各位大神谁能告诉我为神马?!谢! 展开
#include <stdio.h>
main()
{ int a = 100;
if ( a > 100 ) printf ( "%d\n", a >100);
else printf( "%d\n", a <= 100);
}
我求出来的答案是100。我的理由是这样的:因为a=100,不符合if后面的表达式,执行else子句,所以输出a,也就是100.
然而课本后面的答案是1,各位大神谁能告诉我为神马?!谢! 展开
5个回答
展开全部
else输出的应该是 a<=100这个逻辑表达式的值,由于a==100,所以a<=100成立,所以这个表达式的值就是1,所以输出1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
main()
{ int a = 100; //r把a赋值成100
if ( a > 100 )
printf ( "%d\n", a >100); //a并不大于100,不执行
else
printf( "%d\n", a <= 100); //输出a <= 100的值,这是一个判断句,只有真假之说,真为1,假为0
}
main()
{ int a = 100; //r把a赋值成100
if ( a > 100 )
printf ( "%d\n", a >100); //a并不大于100,不执行
else
printf( "%d\n", a <= 100); //输出a <= 100的值,这是一个判断句,只有真假之说,真为1,假为0
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
课本上的肯定有错误,人无完人,金无足赤、因为 a = 100 不大于 100 所以不会执行 if 会执行else 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单 这是逻辑语句 printf( "%d\n", a <= 100); 100《=100成立 所以 结果等于1!
还有问题欢迎 求问!
还有问题欢迎 求问!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是判断吧,a<=100满足就是1,不满足就是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询