永发信息网

C语言调用函数互换两个字符串的值

答案:2  悬赏:10  手机版
解决时间 2021-11-19 13:51
  • 提问者网友:锁深秋
  • 2021-11-19 00:35
C语言调用函数互换两个字符串的值
最佳答案
  • 五星知识达人网友:玩世
  • 2021-11-19 00:44
#include
#include

void ex(char **str1, char **str2);

int main(){
char *str1 = "aaa", *str2 = "bbb";
ex(&str1, &str2);
printf("%s %s", str1, str2);
return 0;
}

void ex(char **str1, char **str2){
char *temp;
temp = *str1;
*str1 = *str2;
*str2 = temp;
}
全部回答
  • 1楼网友:北方的南先生
  • 2021-11-19 00:50
把free(temp)注释就好了,str2指向temp内存,释放掉了,printf处自然报错,或者temp不申请内存,去掉free(temp)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯