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

为什么输出是?

#include <stdio.h>

int main()

{

    //定义小编兜里的钱

    double money =12; 

    //定义打车回家的费用

    double cost =11.5;  

    printf("小编能不能打车回家呢:"); 

    //输出y小编就打车回家了,输出n小编就不能打车回家

    printf("%c\n", cost<=money ? "y" : "n");

    return 0;

}


提问者:weixin_慕仔2226608 2019-07-16 20:36

个回答

  • weixin_慕瓜7007126
    2019-07-16 21:24:58

    printf("%c\n", cost<=money ? "y" : "n");这句错了,y和n是单引号

    单引号表示一个字符他与ASCII码对应。双引号就代表字符串

    所以系统就不认识他们俩了

  • 小神0x00
    2019-07-16 21:22:13

    问题出在printf("%c\n", cost<=money ? "y" : "n");

    将“(双引号)改成‘(单引号)

    两者区别是单引号表示一个字符他与ASCII码对应。双引号就代表字符串。