gpt4 book ai didi

c - 段错误的原因?

转载 作者:行者123 更新时间:2023-11-30 20:17:34 25 4
gpt4 key购买 nike

我开始学习 C,但我陷入了这个练习,我必须实现一个反转字符串(就地)的函数,我真的不知道我做错了什么。欢迎任何帮助,谢谢!

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

void invertir(char* cadena){
char aux;
int i = 0;
int j = strlen(cadena) / 2;
while(i < j){
aux = cadena[i];
cadena[i] = cadena[j];
cadena[j] = aux;
i++;
j--;
}
printf("La palabra invertida es: %s\n",cadena );
}

void main(){
return invertir("parlante");
}

它给了我“段错误”,我确信这是一个菜鸟错误或者是我忘记做的事情。感谢您的耐心等待!

最佳答案

不要写入字符串常量。写入字符串数组。是的,由于遗留原因,我知道它们是 char* 类型,因此如果您这样做,编译器将无法捕获您。

不要写:

void main(){
return invertir("parlante");
}

写:

void main(){
char string[] = "parlante"
invertir(string);
puts(string);
}

此外,您的程序显然无法编译,因为 return void;

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

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