例 1:int x;
char ch;
scanf(“%d”,&x);
ch=getchar();
printf(“x=%d,ch=%d\n”,x,ch);
執行:123(
輸出:x=123,ch=10
例2 int x;
char ch;
scanf(“%d”,&x);
scanf(“%c”,&ch);
printf(“x=%d,ch=%d\n”,x,ch);
執行:123(
輸出:x=123,ch=10
這個輸出b的結果看不懂
3.void main()
{unsigned int a=65535;
int b=-2;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("b=%d,%o,%x,%u\n",b,b,b,b);
}
運行結果為:
a=-1,177777,ffff,65535
b=-2,177776,fffe,65534
uj5u.com熱心網友回復:
例1、例2中,X取得了123數值,ch取得回車符,故ch的ASCII碼為10例3 中,整型(int)與無符號整型(unsigned int)長度是一致的,只是最高位的含義不同,int的最高位是正負的判定位,不代表數值,而unsigned int全部是正數,不需要最高位去判定正負,故最高位是數值。當b值為-2,實際存盤為0xFFFE,采用%u(無符號整型)輸出時,將前面的負號看成了數值,0xFFFE為原碼的正數值, 即65534
uj5u.com熱心網友回復:
例1哪兒我還是不太懂換行符,ch=10,能在詳細說一下么轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/123381.html
標籤:C++ 語言
下一篇:好心人救救俺吧(? ˙o˙)?
