#include <stdio.h>
int main()
{
char c = 'a';
int n = c ; //将c赋值给n
float f = n ; //将c赋值给f
double d = f ; //将c赋值给d
printf("%d\n",n);
printf("%f\n",f);
printf("%lf\n",d);
return 0;
}
#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;
}
你是想问为什么直接用c来赋值也没错吗?
char也属于整型。
用整型给浮点型变量赋值时,整型会先转换为浮点型(还有一些细则,但基本是这个逻辑)。
所以不管你用int还是char来做初值,它们都会转成浮点型。转换后浮点数的整数部分就是整型的数值。
所以你这两个程序的输出一样。