|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本人小白,照着小甲鱼的课程写了一个用指针比较大小的程序,代码如下
- #include <stdio.h>
- void main()
- {
- void swap(int *p1, int *p2);
- int a, b;
- int *pa, *pb;
- printf("please input two numbers:\n");
- scanf("%d %d", &a, &b);
- pa=&a;
- pb=&b;
- if(a<b)
- {
- swap(int *pa, int *pb);
- }
- printf("%d > %d\n", a, b);
- }
- void swap(int *p1, int *p2)
- {
- int temp;
- printf("in course of swapping, please wait!\n");
- temp=*p1;
- *p1=*p2;
- *p2=temp;
- }
复制代码
为什么编译的时候总是出现如下错误?
: error C2143: syntax error : missing ')' before 'type'
: error C2198: 'swap' : too few actual
: error C2059: syntax error : ')' parameters
执行 cl.exe 时出错.
- 1 error(s), 0 warning(s)
谢谢各位
楼主,把a和b的值传入函数时不需要pa和pb的,还有 在语法上是不需要这两个int的,正确的如下
- #include <stdio.h>
- int main()
- {
- void swap(int *p1, int *p2);
- int a, b;
- int *pa, *pb;
- printf("please input two numbers:\n");
- scanf("%d %d", &a, &b);
- pa=&a;
- pb=&b;
- if(a<b)
- {
- swap(&a,&b);
- }
- printf("%d > %d\n", a, b);
- return 0;
- }
- void swap(int *p1, int *p2)
- {
- int temp;
- printf("in course of swapping, please wait!\n");
- temp=*p1;
- *p1=*p2;
- *p2=temp;
- }
复制代码
|
|