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代码需要大括号来创建Python通过缩进实现的作用域,因此它应该如下所示:
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));
}
}