c语言问题

请写出以下程序的输出结果()
main()
{int a=100;
if(a>100) printf("%d\n",a>100);
else ptintf("%d\n",a<=100); }
此题答案为什么是1 而不是100 ????????????
解答的详细点 谢谢了!(本人初学C语言)

由题可以看出,此题应选择“printf("%d\n",a<=100);”这个语句输出。但是其中“a<=100”是一个表达式,而这个表达式可以看做是真或假,是真就输出1,是假就输出0。故此题结果是1。
如果想输出100,这个语句应改为“printf("%d\n",a);”。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-10-05
main()
{
int a=100; //定义a=100
if(a>100)
printf("%d\n",a>100);//如果a>100,执行本语句
else
ptintf("%d\n",a<=100); //否则执行本句
}
本例中,已经定义a的值为100,当遇到a>100的分支时,不成立,所以执行ptintf("%d\n",a<=100); 分支.
而a<=100成立,为真,所以结果为1,所以打印出来的结果是1.我刚开始学的时候也不懂.但很多都是积累得多了也就能感悟到了...
第2个回答  2007-10-05
抢分!
第3个回答  2007-10-05
问题都被答完了.
第4个回答  2007-10-05
C里面规定 表达式为假 值是0 其他非0的值 都认为是真
第5个回答  2007-10-05
关系表达式,只有1和0之分.
相似回答