Python代码蟒蛇C转换误差
for b in range(4):
for c in range(4):
print myfunc(b/0x100000000, c*8)
C代码
unsigned int b,c;
for(b=0;b<4;b++)
for(c=0;c<4; c++)
printf("%L\n", b/0x100000000);
printf("%L\n" , myfunc(b/0x100000000, c*8));
我收到一个错误说: 错误:整型常量是在两个printf语句 “长” 式的过大在c代码中。 'myfunc'函数返回一个long。 这可以通过定义'b'来解决。我试图将'b'定义为'long'和'unsigned long'但没有帮助。 任何指针?
我的坏...这是问题的短版
unsigned int b;
b = 1;
printf("%L", b/0x100000000L);
我得到错误和警告: 错误:整型常量是太大“长”型 警告:转换缺乏在格式末尾键入 警告:格式太多的参数
您在C代码中缺少一些花括号。 – 2011-04-17 17:36:06
对于长整型常量,使用'0x100000000L' – GWW 2011-04-17 17:37:07
你期望在这里输出什么?任何整数类型除以一个较大的值就会变为零。 – Random832 2011-04-17 18:29:44