gpt4 book ai didi

c - 段错误的位置

转载 作者:太空宇宙 更新时间:2023-11-04 07:02:07 27 4
gpt4 key购买 nike

我无法定位segmentation fault的原因目标-使用指针反转字符串

#include<stdio.h>
#include<string.h>

void swap(char *ptr[], int c)
{
int i;
char *r[40];
for(i=0; i<c; i++)
*(r[c-i]) = *(ptr[i]);
printf("%s",*r);
}

main()
{
int i;
char *ptr[20],str[40];

printf("enter string:");
gets(str);
for(i=0; i<(strlen(str)); i++)
ptr[i]=&(str[i]);
swap(ptr,strlen(str));
}

最佳答案

问题出在这里-

char  *r[40];    
for(i=0;i<c;i++)
*(r[c-i])=*(ptr[i]);

在这里你声明了 char 指针数组 r 并且你解引用了这些未初始化的指针,它们一定会导致 seg fault 。

关于c - 段错误的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36750903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com