c语言改错:交换变量a,b的值,麻烦大家了

1. main()
2. { int a,b;
3. scanf("%d%d", &a,&b);
4. swap(a,b);
5. printf("a=%d,b=%d" ,a,b);
6. swap(int *p,int *q)
7. { int m;
8. m=*p;
9. *p=*q;
10. *q=m;
11. }

第1个回答  2012-04-16
1. main()
2. { int a,b;
3. scanf("%d%d", &a,&b);
4. swap(&a,&b); //此处修改
5. printf("a=%d,b=%d" ,a,b);
6. swap(int *p,int *q)
7. { int m;
8. m=*p;
9. *p=*q;
10. *q=m;
11. }

你的swap函数2参数, a b是地址格式 调用函数时候 参数格式要对 即为地址(a,b地址)
第2个回答  2012-04-16
你可能没声明或者是 第6行 int swap......
或者是3 scanf("%d,%d",&a,&b);输入时打逗号(你可能在输入时把2个数输入在一起 不清楚)
第3个回答  2012-04-16
#include<stdio.h>
void swap(int *p,int *q)
{ int m;
m=*p;
*p=*q;
*q=m
}
int main()|
{ int a,b;
scanf("%d %d",&a,&b);
swap(&a,&b);
printf("a=%d,b=%d\n",a,b);
return 0;
}
第4个回答  2012-04-16
1. main()
2. { int a,b;
3. scanf("%d%d", &a,&b);
void swap(int *,int *);
4. swap(&a,&b);
5. printf("a=%d,b=%d" ,a,b);
6. void swap(int *p,int *q)
7. { int m;
8. m=*p;
9. *p=*q;
10. *q=m;
11.本回答被提问者采纳
第5个回答  2012-04-16
有头文件吗?还有 swap(int *p,int *q)
函数是什么功能啊?
一些数组交换?