score類(lèi)型不是整形嗎,為什么可以直接除以10不用強(qiáng)制轉(zhuǎn)換int取整?
#include <stdio.h>
int main()?
{
? ? int score = 87; //考試分?jǐn)?shù)為87分?
? ? score=(int)score/10;
? ? switch(score)
? ? {
? ? ? ? /*想想以下代碼為什么用這種方式;
? ? ? ? ? 這種方式的好處?*/
? ? ? ? case 10:
? ? ? ? break;
? ? ? ? case 9:
? ? ? ? ? ? printf("等級(jí)A");
? ? ? ? ? ? break;
? ? ? ? case 8:
? ? ? ? ? ? printf("等級(jí)B");
? ? ? ? ? ? break; ? ? ? ? ? ? ? ?//這里是不是缺點(diǎn)什么? ? ? ? ? ? ?
? ? ? ? case 7:
? ? ? ? break;
? ? ? ? case 6:?
? ? ? ? ? ? printf("等級(jí)C");
? ? ? ? ? ? break; ? ? ? ? ? ? ? //這里是不是缺點(diǎn)什么? ?
? ? ? ? default:
? ? ? ? ? ? printf("等級(jí)D");
? ? ? ? ? ? break; ? ?
? ? }
? ? return 0;
}
2017-10-27
score本身就是int類(lèi)型的,87/10原本應(yīng)該是8.7但由于變量本身為int型所以8后面的.7會(huì)被自動(dòng)舍棄所以不用使用強(qiáng)制轉(zhuǎn)換,但是如果你的程序是
int a;
float?b;
a=87;
b=(int)(a/10);/*用強(qiáng)制轉(zhuǎn)換取整,此時(shí)b=8.000[a/10沒(méi)有括號(hào)的話會(huì)先強(qiáng)制轉(zhuǎn)換a為87.000,無(wú)法得到取整結(jié)果]*/
2017-09-29
這個(gè)你能運(yùn)行出來(lái)嗎?我這個(gè)不會(huì)
2017-09-24
int 不是整形是什么...