char* convertToTitle(int n) {
char *asc1;
int i=0,j,high,temp=n;
while((temp-1)/26!=0)//第二种思考方式的时候这个循环将无用
{
i++;
temp=(temp-1)/26;
}
asc1 = (char *)malloc((i + 1) * sizeof(char));//这里忘记了
while(n/26!=0){
asc1[i--]=(n-1)%26+65;//第二种方式时这里需变成i++;
n=(n-1)/26;
}
asc1[i]=(n-1)%26+65;
/*//这里是我的另外一种思考方式将asc数组倒置上面的
if(i!=0){
//high=i;
for(j=0;j<i;j++){
temp=asc1[j];
asc1[j]=asc1[i];
asc1[i]=temp;
i--;
}
}
*/
// asc2[0]=asc1[0]='A'+(n-1)%26;
return asc1;
}
犹豫mallo问题,该问题困扰了我一天。
用指针定义的数组,需要动态分配空间
2016/1/30