為什么把char改成double結果就變了
#include <stdio.h>
int main()
{
??? char x=2.3;
??? int j=13;
??? int z=9;
??? char sum;
??? sum=j+z*x;
??? printf("%d",sum);
??? return 0;
}
#include <stdio.h>
int main()
{
??? char x=2.3;
??? int j=13;
??? int z=9;
??? char sum;
??? sum=j+z*x;
??? printf("%d",sum);
??? return 0;
}
2015-11-11
舉報
2015-11-11
把一個小數定義為char類型本身就不對吧,還用%d去輸出char類型,應該用double,char是字符型,可以用來顯示一個小數,而不能把它運用到運算里面。double類型用“%lf",char類型用“%c",int型用"%d".至于不一樣的原因大概是自動省略了小數點。