2013-05-16 35 views

回答

7

n3376 3.9.1/1

Plain char, signed char, and unsigned char are three distinct types. A char, a signed char, and an unsigned char occupy the same amount of storage and have the same alignment requirements (3.11); that is, they have the same object representation.

什麼是char是實現定義的,因此,你需要unsigned char這裏,它處理的值(0-255)。

+0

解決:)謝謝:) – sv1

0

看起來像你的charsigned char,它接受從-128到127的值。而200對於它來說太大了,並且會溢出成負數。

修復它,改變charintunsigned char

int main() 
{ 
    unsigned char ch=200; 
    printf("\n%d",ch); 
    return 0; 
} 
+0

一個'char'是** **從來沒有一個'簽署char'。 'char'可以是有符號或無符號的(實現定義的),但它總是與'signed char'和'unsigned char'不同的類型。 – Angew

+0

這是一個沒有區別的區別:C代碼的行爲在任何情況下都不能與'char'與'signed char'或'unsigned char'的同義詞區分開來。 (我對C++不太確定。) –