指针
include<stdio.h>void w( int y, int *x)
{
y=y+*x; *x=*x+y; 这里是怎么加的呢。
}
int main()
{
int x=2,y=4;
w(y,&x); &x不应该是取的2吗。
printf("%d,%d\n",x++,++y);
} include<stdio.h>
void w( int y, int *x)
{
y=y+*x; *x=*x+y; //实参x=2,y=4传入 y=4+2=6;x=2+6=8 ; 此时注意传入的实参,实参y传入并不是传入地址,实参y的值并不改变,而x传入地址,地址改变,因此x实际值改变
}
int main()
{
int x=2,y=4;
w(y,&x); &x不应该是取的2吗。
printf("%d,%d\n",x++,++y); //此时x=8,y=4; ++y先执行++因此y=5; x++是在该语句结束后++,因此x=8不变
}
页:
[1]