注册 登录
编程论坛 C语言论坛

小白咨询一下,盼大神回复

吴健学C 发布于 2019-03-16 17:11, 2110 次点击
int main()
{int a=100;
   if(a>100)
    printf("%d\n",a>100);
   else
    printf("%d\n",a<=100);
getchar();
}
以上语句为什么输出的值是1而不是表达式a<=100弄了半天没搞懂
7 回复
#2
吴健学C2019-03-16 17:16
来回复回复啊!大哥们
#3
wp2319572019-03-16 19:36
a<100 无论是符号还是汉字 都需要你自己去写,去实现

而1楼的代码  因为a<=100 为真值  故用%d 输出为1  这也算是c语言特例  逻辑值也能用%d 表示
#4
pseudo2019-03-18 16:10
在两个printf语句中把%d删掉,里面只留表达式a<=100或a>=100。
#5
zzz2019-03-18 16:25
   printf("%d\n",a>100);
   else
    printf("%d\n",a<=100);
你输出的就是“a<=100”啊
#6
无敌小天哥2019-03-19 11:30
3楼说的对
#7
flatfish862019-03-19 13:36
#include <stdio.h>
int main()
{
    int a = 100;
    if(a > 100)    //if语句是判断语句,也就是说如果a大于100它就会打印a>100否则打印a<=100
        printf("a > 100\n",a > 100);
    else
        printf("a <= 100\n",a <= 100);
    return 0;
}
            
#8
waterstar2019-03-19 15:08
我猜你应该是想输出字符串a > 100这种,所以需要用%s来输出,具体的是:
程序代码:

#include <stdio.h>
int main()
{int a=100;
   if(a>100)
    printf("%s\n", "a>100");
   else
    printf("%s\n", "a<=100");
getchar();
}
1