c语言
求大佬看一下,是哪里有错吗?为什么会这样?(C语言)输入x=1,y=2;输出还是x=1,y=2
#include<stdio.h>
int swap(int x,int y)
{
int n;
n=x;
x=y;
y=n;
}
int main()
{
int x,y,n;
scanf("%d%d",&x,&y);
swap(x,y);
printf("%d %d",x,y);
return 0;
} 本帖最后由 jackz007 于 2020-12-23 21:35 编辑
#include<stdio.h>
// swap() 函数传入的两个参数必须是指针才能实现两个变量值的交换
void swap(int * x , int * y)
{
int n ;
n = * x ;
* x = * y ;
* y = n ;
}
int main(void)
{
int x , y , n ;
scanf("%d%d" , & x , & y) ;
swap(& x , & y) ;
printf("%d %d", x , y) ;
} 谢谢,所以我这个不对是吗? 迷砖00 发表于 2020-12-23 21:42
谢谢,所以我这个不对是吗?
显然不对,你的代码无法实现变量值的交换。
页:
[1]