#include stdioh#include stringhvoid reverse char left char right char temp = 0; whileleft right temp = left; left = right; right = temp; int main char arr100 = 0 ; getsarr; int len = strlenarr;
有两处错误:
-
在 reverse 函数中,没有将左右指针向中间移动,导致死循环。应该加上
left++和right--。 -
在主函数中,printf 函数拼写错误,应该是
printf。
修改后的代码如下:
#include <stdio.h>
#include <string.h>
void reverse (char* left ,char *right)
{
char temp = 0;
while(left < right)
{
temp = *left;
*left = *right;
*right = temp;
left++;
right--;
}
}
int main( )
{
char arr[100] = { 0 };
gets(arr);
int len = strlen(arr);
reverse(arr, arr+len-1);
printf("%s\n",arr );
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/epRm 著作权归作者所有。请勿转载和采集!