gpt4 book ai didi

c - 当我将参数发送的指针的值分配给 C 中的本地指针时,为什么会出现错误

转载 作者:太空狗 更新时间:2023-10-29 15:49:55 24 4
gpt4 key购买 nike

#include <stdio.h>

void ref(int *a,int *b) {
int *t;
*t = *a;
*a = *b;
*b = *t;
}

int main() {
int a = 2, b = 3;
ref(&a, &b);
printf("a=%d,b=%d", a, b);
return 0;
}

最佳答案

int *t; 像这样声明指针不会创建任何内存意味着 t 没有指向任何内容,访问 *t = *a; 将给出未定义的行为。在你的情况下,你不需要指针来交换你只需要普通变量的两个变量。

void ref(int *a,int *b){    
int t;
t=*a;
*a=*b;
*b=t;
}

关于c - 当我将参数发送的指针的值分配给 C 中的本地指针时,为什么会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51801742/

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