有哪位知道这道C语言题错在哪里了,怎么改

2025-04-24 07:58:04
推荐回答(1个)
回答1:

long fun( char *s ){  //注意返回值要求是长整数
char ch;
int i, length;
length = strlen(s) / 2;
for (i = 0; i < length;i++) {
ch = s[i];
s[i] = s[length - i - 1];
s[length - i - 1] = ch;
}
return s[i]  ;//这里返回的是字符数组,肯定出错
}


long fun( char *s ){ //修改版
long res=0;
int i, length;
length = strlen(s) ;
for (i = length-1; i >= 0;i--) { //从字符末位开始
    res=res*10+(s[i]-'0');//将数字字符转为数字,并加入到结果中去
}
return res;//返回长整数结果
}