将这段Python代码翻译成C代码,因为要用到这段代码来写C程序,麻烦大家帮个忙

def cmp_zorder(a, b):
j = 0
k = 0
x = 0
for k in range(dim):
y = a[k] ^ b[k]
if less_msb(x, y):
j = k
x = y
return a[j] - b[j]

def less_msb(x, y):
return x < y and x < (x ^ y)

int cmp_zorder(int a[], int b[])
{
j = k = x = 0 ;
for(k = 0; k < dim; k++)
{
y = a[k] ^ b[k] ;
if(less_msb(x, y))
{

j = k ; x = y ;

}
}
return a[j] - b[j] ;
}
int less_msb(int x, int y)
{
return ((x < y ) &&(x^y)) ;
}
对于FOR循环那里,是循环了DIM(0到DIM-1,如果是要0到DIM的话,改成for(k = 1; k <= dim; k++)即可)次的,我忘记PYTHON的RANGE生成的是什么样子的序列了。。。直接手打的,缩进可能有点难看,将就些。话说LZ没说明DIM跟Y这些变量是不是全局变量?!
祝LZ学习愉快,有问题可追问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-16
boost.python 是王道啊
相似回答