可能重复:
为什么这些交换函数的行为不同?
看看下面的代码,旨在交换两个数字,但事实并非如此。请帮助我理解它没有的原因。我是编程新手,所以如果您能比平时更多地解释这些事情,我将不胜感激。谢谢!
#include <stdio.h>
void swap (int a, int b);
int main (void)
{
int x = 1;
int y = 2;
swap (x, y);
printf ("Now x is %d and y is %d\n", x, y);
return 0;
}
//function definition of swap
void swap (int a, int b)
{
int temp = a;
int a = b;
int b = temp;
}