#includevoid swap_1(int a,int b)//error_1 { int t; t=a; a=b; b=t; return; } void swap_2(int * a,int * b)//error_2 { int * t;//*t表示int类型 t=a; a=b; b=t; return; } void swap_3(int * a,int * b)//right! { int t;//交换*a与*b的位置,因此要用到整型t,因为存在t=*p, //如果形参为int a,则t写成int * t的形式,因为存在着*t=a; t=*a;//a是int *类型,*a是int类型 *a=*b; *b=t; return; } int main() { int a=2; int b=3; swap_1(a,b);//error swap_2(&a,&b); swap_3(&a,&b);//&a交给了int * a中的a,a为存放int *类型的地址 printf("a=%d b=%d",a,b); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)