这就行啦?最后一个不用输?和运行结果也不一样啊,求解!
C语言 2-8 自动类型转换
C语言 2-8 自动类型转换
2015-07-22
第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;
举报