2014-02-27 113 views
0

我想實現在Python C代碼字符:比較在C&蟒蛇

int main() 
{ 
    char ch=291; 
    printf("%d %c",ch,ch); 
    return 0; 
} 

在蟒蛇:

ch=291 
print "%d %c" % (ch,ch) 

但它給了一個錯誤......

在C中,255之後的字符值再次返回0,這種概念不適用於python嗎?

+0

在蟒紋語法不同 檢查這個答案 http://stackoverflow.com/questions/14041791/print-variable-and-a-string-in-python – MONTYHS

回答

4

它實際上給:

OverflowError: unsigned byte integer is greater than maximum 

,它是因爲%c格式只需要一個字節,這是0x11111111(255)最大。而291是0b100100011,它是9位。

c我不確定它爲什麼顯示0,但它絕對是一種告訴你有一個錯誤的方式,溢出格式的字節。

0
>>> ch=291 
>>> print "%d %s" % (ch,ch) 
    291 291 

這裏ch是變量,其中賦值爲291值。使用%s作爲字符串。