有人可以查看此代码并检查它是否可以正常工作
它应该反转输入的字符串(例如“hello”应该变成“olleh”)
void stringReverse (char string1[])
{
int length, i, j, k;
char tmp;
length = strlen(string1);
j = length - 1;
printf("Length: %i",length);
for (i = 0; i < length; i++)
{
tmp = string1[j];
string1[j] = string1[i];
string1[i] = tmp;
j--;
}
}
答案 0 :(得分:8)
它正如你告诉它工作的那样工作。您的周期必须最多为length/2
,而不是length
。
答案 1 :(得分:0)
char* strrev(char* s) {
char* h = s;
char* t = s;
char ch; `
while(*t++){};
t -= 2;
while(h < t){
ch = *h;
*h++ = *t; /* h向尾部移动 */
*t-- = ch; /* t向头部移动 */
}
return(s);
}
功能:strrev
。这是实施。
希望这可以帮到你。