gpt4 book ai didi

c - 为什么下面的冒泡排序代码会出现段错误?

转载 作者:行者123 更新时间:2023-11-30 18:21:22 24 4
gpt4 key购买 nike

#include<stdio.h>
#include<string.h>
int main(){
char *a[]={"this","is","a","string"};
char temp[100];
for(int i=0;i<3;i++){
for(int j=0;j<3-i;j++){
if(strcmp(a[j],a[j+1])>0){
strcpy(temp,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],temp);
}
}
}
for(int i=0;i<4;i++){
printf("%s\n",a[i]);
}
}

以下代码用于对字符串进行冒泡排序。它给出了段错误。其中有什么问题?

最佳答案

字符串文字在 C 中是只读的。您的 strcpy(a[j],a[j+1])strcpy(a[j+1], temp) 调用是非法的。

关于c - 为什么下面的冒泡排序代码会出现段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48885665/

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