m0_70029950 2022-05-24 18:31 采纳率: 79.2%
浏览 45
已结题

关于getchar和putchar的用法

问题遇到的现象和发生背景

想通过putchar输出代表真假的0和1,但是输出的结果不符合预期

问题相关代码,请勿粘贴截图

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=2,b=3;
int c;
c=(int)(a<b);
putchar(c);
return 0;
}

运行结果及报错内容

Process exited after 0.02781 seconds with return value 0
请按任意键继续. . .

我的解答思路和尝试过的方法

a<b为真
将1赋值给c
PS:试过c==(int)(a<b)也不行
再通过putchar输出c的值

我想要达到的结果

输出1

  • 写回答

2条回答 默认 最新

  • fuill 2022-05-24 21:48
    关注
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int a=2,b=3;
    int c;
    c=(int)(a<b);
    putchar(c+48);
    return 0;
    }
    

    加上ascll码差值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月24日