紧急求教!C的问题 关于指针的

来源:百度知道 编辑:UC知道 时间:2024/06/24 05:14:55
程序是没错的 但请问一下各位 函数声明void swap(int *,int *);的形参指针可以没有名字的? 声明的函数 要与被调用的函数的形参是要一样的 不是吗?
#include<stdio.h>
void swap(int *,int *);
main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);

printf("交换变量值之前:\n");
printf("a=%d, b=%d\n",a,b);
swap(&a,&b);
printf("\n 用锁swap函数交换两个变量之后:\n");
printf("a=%d,b=%d\n",a,b);

}
void swap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}

函数的声明可以不写形参变量名,只需写出类型即可
如:
void swap(int *,int *);
同样,你也可以写出它的形参:
void swap(int *x,int *y);

两者的区别是
采用第一种形式,函数头里面的形参在后面定义时可以为任意的名字。
如形参不使用x,y,用void swap(int *a,int *b)也不会报错

采用第二种方式,后面进行定义的时候,函数头里的形参就要和声明的完全一样。如果你形参不用x,y,就会报错

应该可以哦 调用只需类型和数目一样就可用了