问答详情
源自:3-9 三目运算符

运行成功输出好像也是成功的但是==

代码如上,但是为什么提示运行成功,输出错误?

提问者:慕少3429939 2018-10-14 10:46

个回答

  • 不说话_就学习
    2018-10-16 22:53:50

    “”里面不是字符格式 是字符串 所以必须用%s

  • 不说话_就学习
    2018-10-16 22:52:45

    注意 别人是 ‘y’  你是“y” 

  • 张云路
    2018-10-16 19:48:06

    把%c改为%s之后运行正常

    在本机用gcc试了下也是这样,不懂为什么。。希望有大佬路过解释一下

    https://img2.mukewang.com/5bc5cfaf0001979e06340579.jpg

    https://img1.mukewang.com/5bc5cfbb0001803e05400558.jpg


  • 张云路
    2018-10-16 19:41:59

    我也是这样:

    运行成功,输出错误

    hello.c: In function 'main':
    hello.c:10:15: warning: format '%c' expects argument of type 'int', but argument 2 has type 'char *' [-Wformat=]
         printf( "%c\n", money>=cost ? "y":"n" );
                   ^
    小编能不能打车回家呢:�


  • 慕少3429939
    2018-10-14 10:48:20

    #include <stdio.h>
    int main()
    {
        //定义小编兜里的钱
        double money =   12   ;
        //定义打车回家的费用
        double cost =  11.5     ;  
        printf("小编能不能打车回家呢:");
        //输出y小编就打车回家了,输出n小编就不能打车回家
        printf("%c\n",money<=cost ? 'n' : 'y'                       );
        return 0;
    }