看下面两段程序:
#include <stdio.h>
int main()
{
int x = 0;
for (x = 0;x < 9;x++){
printf("[ %d - %d ] \n",x,15 - x / 8);
}
return 0;
}
#!/usr/bin/python
3
for x in range(9):
index = int(15 - x / 8)
print("[ %d - %d ]" % (x,index))
现在想想他们执行结果会怎样?先思考一下再看下面.
可见C语言使用处理方法Python处理刚好相反...那么怎么让他们一样.
有时候移植代码还真会产生莫名其妙问题啊,这是很基础的数据处理问题.
用//可以整除吧
/是浮点除法,15减去0点几再取整必然是小于15
@spike 其实就是因为转换损失问题,没有考虑清楚产生的问题,有时候问题就很简单,就是踩了陷阱.