有两处错误:

  1. 在 reverse 函数中,没有将左右指针向中间移动,导致死循环。应该加上 left++right--

  2. 在主函数中,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;
}
``
#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;

原文地址: https://www.cveoy.top/t/topic/epRm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录