1,數值型不好掌握。
計算工資時很可能出現小數,但樓主在聲明變量時完全采用int類型,不管邏輯上是否正確。int類型的變量直接與下面的代碼沖突。
有兩個問題:
1.1:
在scanf()中,樓主把%ld寫在了括號裏,%ld的輸入類型是long int,而樓主聲明,
int .
1.2:
I commission =(iSales * 1.5);
ISales是整形,1.5是浮點,iSales*1.5的結果隱式轉換為浮點,iCommission是。
賦值時會出現整數int錯誤。
需要補充知識點:參數類型的定義和轉換。請參考任何壹本C語言教材。
2.scanf()函數沒有掌握好。
這也是樓主主要關心的。在scanf () \n中,空格和制表符都是空白字符。空白字符會導致scanf()函數在讀取操作期間忽略輸入中的壹個或多個空白字符。scanf的輸入只能在輸入非空白字符時終止。此外,上壹點提到的參數類型也需要特別註意。
需要補充知識點:如何使用scanf()函數。請參考相關文件。
/鏈接?URL = ed 3 zutax n 3 lk byp 49 NP 1 qfyvfaxckq 1j _ fvptcqsrctkoonskicking rec 7 ffvuaq 7 JM H5 udi 3 bjzbbnbv 8 ldvq
再多說幾句:看跌期權;函數用於向標準輸出設備(屏幕)寫入壹個字符串並進行包裝,其調用方法為,puts(s);其中s是字符串字符(字符串數組名或字符串指針)。樓主雖然使用方法正確,但最好還是咨詢壹下更標準的使用方法。
/鏈接?URL = mvsb 8 twqqpmlwzkve 4 ipvgamu _ 2P-RF 63hg 3 euc 3c b 7 xrp 53k 35 bs 9 IQ _ 8 ia 3y 2 lqraz 0 zctenpgzg 8 RLS yk
將我修改後的代碼貼在下面:
#包含?& ltstdio.h & gt
int?主()
{
雙倍?iSalary,iBasic,iCommission,iSales
printf("拜托?進入?那個?基礎?付款:“);
scanf("%lf ",& ampiBasic);
printf("拜托?進入?那個?銷售:“);
scanf("%lf ",& amp伊薩萊斯);
I commission =(iSales * 1.5);
Printf("傭金工資:%lf\n ",I commission);
iSalary =(iBasic+I commission);
Printf("月薪:");
printf("%lf ",iSalary);
回歸?0;
}請註意變量類型的變化和輸入輸出中%之後的變化。
提示:編程過程中的細節真的很重要。除此之外,以後遇到問題,盡量分解成小問題,然後找到相關的解決方法,學會利用好搜索引擎。比如樓主在輸入的時候遇到問題,就要思考scanf是不是有問題,然後搜索它的正確用法。這才是真正解決問題的辦法。