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

为什么我打出来是99?任务是要打出97的

#include <stdio.h>

int main()

{

    char c = 'a';

    int n ='c';         //将c赋值给n

    float f ='c';       //将c赋值给f

    double d = 'c';     //将c赋值给d

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

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

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

    return 0;    

}


提问者:徐东根 2015-07-31 14:00

个回答

  • Perona
    2015-07-31 14:13:00
    已采纳

    变量名是不需要加引号的,你这里加了引号

    int n ='c';         //将c赋值给n
    float f ='c';       //将c赋值给f
    double d = 'c';

    变成了输出字符c了。

    建议把引号去掉,如下

    #include <stdio.h>
    int main()
    {
        char c = 'a';
        int n = c;     //将c赋值给n
        float f =c;     //将c赋值给f
        double d =c;   //将c赋值给d
        printf("%d\n",n);
        printf("%f\n",f);
        printf("%lf\n",d);
        return 0;    
    }


  • 穷游驴包
    2015-09-07 23:04:56

    原来‘c'跟c的问题

  • Lay0305
    2015-07-31 14:07:10

    无图图真相呀

  • Perona
    2015-07-31 14:01:39

    贴代码