书上指针部分的例题:
#include
int main(){
void swap(int *change_a,int *change_b);
int a,b;
int *change_a,*change_b;
printf("please enter two numbers:");
scanf("%d %d",&a,&b);
change_a = &a;
change_b = &b;
printf("%d %d",change_a,change_b);
return 0;
}
void swap(int *change_a,int change_b){
int temp;
temp = *change_a;
*change_a = *change_b;
*change_b = temp;
}
运行时显示:
error:invalid type arguement of unary '*' (have 'int')
不理解,我不都定义成int型了吗?
你在swap函数中的change_b没有定义成指针。改成指针应该就能变成你想要的结果了
你在swap函数中的change_b没有定义成指针。改成指针应该就能变成你想要的结果了
#include"stdio.h"
void swap(int *change_a,int change_b);
int main(){
int a,b;
int *change_a,change_b;
printf("please enter two numbers:");
scanf("%d %d",&a,&b);
change_a = &a;
change_b = b;
printf("%d %d", *change_a,change_b);
return 0;
}
void swap(int *change_a,int change_b){
int temp;
temp = *change_a;
*change_a = change_b;
change_b = temp;
}
这样应该对了
你注意看下,你的temp,不是指针类型啊