【发布时间】:2011-04-17 17:34:24
【问题描述】:
python 代码
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));
我收到一条错误消息: 错误:整数常量对于 c 代码中的两个 printf 语句中的“long”类型来说太大。 'myfunc' 函数返回一个 long。 这可以通过将“b”定义为不同的类型来解决。我尝试将'b'定义为'long'和'unsigned long'但没有帮助。 有什么指点吗?
我的错...这是问题的简短版本
unsigned int b;
b = 1;
printf("%L", b/0x100000000L);
我收到错误和警告: 错误:整数常量对于“long”类型来说太大了 警告:转换在格式末尾缺少类型 警告:格式参数过多
【问题讨论】:
-
您的 C 代码中缺少一些花括号。
-
对于长整型常量使用
0x100000000L -
您期望这里的输出是什么?任何整数类型除以更大的值都将为零。