亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

score類型不是整形嗎,為什么可以直接除以10不用強制轉換int取整?


#include <stdio.h>

int main()?

{

? ? int score = 87; //考試分數為87分?

? ? score=(int)score/10;

? ? switch(score)

? ? {

? ? ? ? /*想想以下代碼為什么用這種方式;

? ? ? ? ? 這種方式的好處?*/

? ? ? ? case 10:

? ? ? ? break;

? ? ? ? case 9:

? ? ? ? ? ? printf("等級A");

? ? ? ? ? ? break;

? ? ? ? case 8:

? ? ? ? ? ? printf("等級B");

? ? ? ? ? ? break; ? ? ? ? ? ? ? ?//這里是不是缺點什么? ? ? ? ? ? ?

? ? ? ? case 7:

? ? ? ? break;

? ? ? ? case 6:?

? ? ? ? ? ? printf("等級C");

? ? ? ? ? ? break; ? ? ? ? ? ? ? //這里是不是缺點什么? ?

? ? ? ? default:

? ? ? ? ? ? printf("等級D");

? ? ? ? ? ? break; ? ?

? ? }

? ? return 0;

}


正在回答

3 回答

score本身就是int類型的,87/10原本應該是8.7但由于變量本身為int型所以8后面的.7會被自動舍棄所以不用使用強制轉換,但是如果你的程序是

int a;

float?b;

a=87;

b=(int)(a/10);/*用強制轉換取整,此時b=8.000[a/10沒有括號的話會先強制轉換a為87.000,無法得到取整結果]*/



0 回復 有任何疑惑可以回復我~
#1

hc茶

這個語句用處就是固定順序下固定數值的固定執行;可以節省運算空間
2017-10-27 回復 有任何疑惑可以回復我~
#2

hc茶 回復 hc茶

回錯地方了
2017-10-27 回復 有任何疑惑可以回復我~

這個你能運行出來嗎?我這個不會

0 回復 有任何疑惑可以回復我~

int 不是整形是什么...

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926907    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

score類型不是整形嗎,為什么可以直接除以10不用強制轉換int取整?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號