|
发表于 2010-2-24 08:59:14
|
显示全部楼层
Post by TangSDX;2071322
char* itoa(int val, int base){
static char buf[32] = {0};
int i = 30;
for(; val && i ; --i, val /= base)
buf = "0123456789abcdef"[val % base];
return &buf[i+1];
}- buf[i] = "0123456789abcdef"[val % base];
复制代码 这句没看太明白谁能解释一下? 是算法没明白还是"0123456789abcdef"[4]这种用法没明白?如果是用法,就是把“0123456789abcdef“视为char[]型数组,那下标4自然指的就是数组第5个字符(即字符'4')。
就把"0123456789abcdef"想成char a[] = "0123456789abcdef"。然后 "0123456789abcdef"[4]当成a[4],这样就好理解了。 |
|