為何f轉為雙精度浮點了?
#include <stdio.h>
int main()
{
? ? char c = 'a';
? ? int n =c; ? ? ? ? //將c賦值給n
? ? c=97;
? ? float f =c; ? ? ? //將c賦值給f
? ??
? ? double d =c; ? ? ?//將c賦值給d
? ? printf("%d\n",n);
? ? printf("%f\n",f);
? ? printf("%lf\n",d);
? ? return 0; ? ?
}
為何f轉為雙精度浮點了?
2017-03-14
char類型的轉換要求:只能轉為int和double,所以結果為雙精度浮點
2017-03-14
首先你搞明白什么叫精度,然后再提出這個問題,你自己就會豁然開朗了
因為你的 c 實則為 char 類型 , 97 等于 兩個字符串, 你那樣賦值不報錯也不給警告?