我试图用指针交换两个整数......
#include<stdio.h>
int main()
{
int a,b,*i,*j;
printf("Enter two integer:");
scanf("%d%d",&a,&b);
i=&a;
j=&b;
a=*j;
b=*i;
printf("\n %d \t %d",a,b);
return 0;
}
输入是
12 45
输出是
45 45
经过一些试验,我发现如果我分配第b=*i一个然后分配a=*j,第一个整数即12重复..
为什么会这样?在我对指针的理解中,这就是我所做的。我已将*j(即存储在地址中的变量的值a)分配给b和*i(即存储在地址中的变量的值b)分配给a..
请解释这个程序中真正发生的事情..