这就行啦?最后一个不用输?和运行结果也不一样啊,求解!

来源:2-8 自动类型转换

六月想养猫

2015-07-22 19:00

C语言   2-8  自动类型转换

55af77920001316f02340104.jpg

55af779300011bfc01740169.jpg

55af77930001241305000524.jpg


写回答 关注

2回答

  • 寒江北去
    2015-07-22 22:00:59
    已采纳

    第7行 由于没写分号,而且后边又写了注释,于是和第8行的代码变成了一句,于是变成了:

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

    1.double d=printf("%d\n",n); 其中int n=c;字符a被强制转换类型,根据ASCII表 a对应的值为97。printf函数将97打印出来,得到第一行结果 97。printf函数返回值为输出的字符串的长度,因为输出的字符为97和一个 换行符,所以字符串长度为3,即d=3.000000

    2. printf("%f\n",f); 字符a强制转换成浮点型,得到97.000000

    3.那么问题来了。根据1的分析,输出了3.000000

    所以少年啊 第7行你少写了个c;

  • 六月想养猫
    2015-07-23 10:07:58

    噢,第七行和第八行是一句

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题