相关疑难解决方法(0)

处理存储在C中多个字符串的指针数组中的单个字符串的问题

提供指向字符串的指针数组作为输入.任务是反转存储在指针输入数组中的每个字符串.我创建了一个名为reverseString()的函数,它反转传递给它的字符串.据我所知,这个功能正常工作.

在指针的输入数组中存储/引用的字符串逐个发送到reverseString()函数.但是当使用临时变量交换传递的字符串的值时,代码在reverseString()函数中的某个点挂起.我无法弄清楚为什么代码在交换值时挂起.请帮我解决一下这个.

代码如下:

#include <stdio.h>
void reverseString(char*);

int main()
{   char *s[] = {"abcde", "12345", "65gb"};
    int i=0;
    for(i=0; i< (sizeof(s)/sizeof(s[0]) ); i++ )
    {   reverseString(s[i]);
        printf("\n%s\n", s[i]);
    }

    getch();
    return 0;
}//end main

void reverseString(char *x)
{   int len = strlen(x)-1;
    int i=0; 
    char temp;
    while(i <= len-i)
    {   temp = x[i];
        x[i] = x[len-i];
        x[len-i] = temp;
            i++;
    }
}//end reverseString
Run Code Online (Sandbox Code Playgroud)

c arrays string pointers

0
推荐指数
1
解决办法
1012
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1

string ×1