gpt4 book ai didi

c - a 和 b 的 Main 成功交换

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

**不交换 main 中的 a 和 5。我假设指针的某些部分已关闭。要使 main 中的值发生变化,需要进行哪些更改?目前,它在打印时执行以下操作:**

a= 5
b= 10
a= 10
b= 5
a= 5
b= 10


void swap (int* a, int* b) {
int c = 0 ;
c = a ;
a = b ;
b = c ;

printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;

return ;
}

int main(){
int* a = 5 ;
int* b = 10 ;

printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;

swap (a,b) ;

printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;

return (0) ;

}

最佳答案

int* a = 5 ;
int* b = 10 ;

这应该是:

int a = 5 ;
int b = 10 ;

然后,如果您对 swap 代码进行以下更改,则可以使用 swap(&a, &b) 来交换它们:

c = *a ;
*a = *b ;
*b = c ;

printf ("a= %d\n", *a) ;
printf ("b= %d\n", *b) ;

这是一个完整的示例:

void swap (int* a, int* b) {
int c = 0 ;
c = *a ;
*a = *b ;
*b = c ;

printf ("a= %d\n", *a) ;
printf ("b= %d\n", *b) ;

return ;
}

int main(){
int a = 5 ;
int b = 10 ;

printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;

swap (&a,&b) ;

printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;

return (0) ;

}

关于c - a 和 b 的 Main 成功交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57246082/

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