问答详情
源自:2-8 自动类型转换

为什么我显示结果为99

char c='a';

int n='c';

float f='c';

double d='c';

printf("%d\n",n);

printf("%f\n",n);

printf("%lf\n",n);

提问者:qq_慕丝9338363 2019-10-12 22:24

个回答

  • 慕无忌4125932
    2019-10-12 22:32:22

    char c='a';
    int n='c';/*这里你用了单引号,相当于你把字符c储存进了n变量,因为c的ASCII码是99(a是97),
               因为int是整型,自动把字符c对应的ASCII值99存进去了,所以得到结果为99,下面也是这样,
               去掉单引号即可*/
    float f='c';//去掉单引号即可
    double d='c';//去掉单引号即可
    printf("%d\n",n);
    printf("%f\n",n);
    printf("%lf\n",n);


  • Antione
    2019-10-12 22:31:57

    'c'的ASCII码就是99 你应该把c的单引号都去掉

    这样写

    char c='a';

    int n=c;

    float f=c;

    double d=c;

    printf("%d\n",n);

    printf("%f\n",f);

    printf("%lf\n",d);