C語言中double型變量,%d輸出為0 的原因


對於初學者C語言常見的錯誤:
1.中英文切換問題,所有代碼應該在英文環境下輸入,有時不小心在中文下輸入,編譯時出現一堆錯誤。
(個人感覺辨別中英文是否出錯最直觀的就是,中文字符比較精致,英文支付看上去有點粗線條,
否則就變異查找錯誤: error C2065: “;”: 未聲明的標識符(VS下))。



2.常見的還有拼寫錯誤特別是:main()這個詞。
3.scanf(“%d”,&a);忘記加&;可能會提示文件無法寫入的錯誤。
4.{}的亂用,不知道怎么加、必須成對出現。
代碼:當用%d去讀double類型數據時,得到的為零,因為int型只取低32為付給整型變量,item=1.000000時轉化成int型為0

1
#include<stdio.h> 2 int main() 3 { 4 int i,j,n;//item,s; 5 double item,s;//當用%d去讀double類型數據時,得到的為零, 6 //因為int型只取低32為付給整型變量,item=1.000000時轉化成int型為0 7 scanf("%d",&n); 8 s=0; 9 for(i=1;i<=n;i++) 10 { 11 item=0; 12 for(j=1;j<=i;j++) 13 { 14 item= item+1; 15 16 s=s+item; 17 } 18 } 19 printf("%d\n",s); 20 21 return 0; 22 23 }

 

double下第19行輸出為0;

int下第19行輸出為正確數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM