2014-02-27 85 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作为字符串。