c语言的自定义函数里面的指针声明该怎么做?
voidswap(p1,p2)int*p1,*p2;//为什么这里的声明必须放在花括号的外面??{intx;x=*p1;*p1=*p2;*p2=x;}如果int*p1,*...
void swap( p1, p2)
int *p1,*p2; //为什么这里的声明必须放在花括号的外面??
{
int x;
x = *p1;
*p1 = *p2;
*p2 = x;
}
如果int *p1,*p2;放到花括号里面,就是:
void swap( p1, p2)
{
int *p1,*p2;
int x;
x = *p1;
*p1 = *p2;
*p2 = x;
}
编译就无法通过?
新手小白求解答,谢谢! 展开
int *p1,*p2; //为什么这里的声明必须放在花括号的外面??
{
int x;
x = *p1;
*p1 = *p2;
*p2 = x;
}
如果int *p1,*p2;放到花括号里面,就是:
void swap( p1, p2)
{
int *p1,*p2;
int x;
x = *p1;
*p1 = *p2;
*p2 = x;
}
编译就无法通过?
新手小白求解答,谢谢! 展开
7个回答
展开全部
放在花括号外面的是全局变量,不过你这写的好奇葩。。。居然放在大括号上面,函数名下面。。。我佩服了。。。
还有,参数列表最好把数据类型也写上,如:void swap(int *p1, int *p2){.....}。
如果你连那些基础都还没有掌握,就先把基础的东西学好了再学这些东西吧。
还有,参数列表最好把数据类型也写上,如:void swap(int *p1, int *p2){.....}。
如果你连那些基础都还没有掌握,就先把基础的东西学好了再学这些东西吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-01-27
展开全部
void swap( p1, p2)
int *p1,*p2;
这种写法是K&R C的声明格式,现在的编译器普遍遵循ANSI C(或者ISO C)标准,所以现在的C语言程序已经不再使用这种声明格式了,而是使用如下形式:
void swap(int *p1,int *p2)
int *p1,*p2;
这种写法是K&R C的声明格式,现在的编译器普遍遵循ANSI C(或者ISO C)标准,所以现在的C语言程序已经不再使用这种声明格式了,而是使用如下形式:
void swap(int *p1,int *p2)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种是早期的写法,现在很少用了。第二种写法有错误,形参应该在函数头部的括号里面声明,而不是在函数体中:
void swap(int *p1,int *p2)
void swap(int *p1,int *p2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种写法已经不推荐使用了,大部分编译器都不识别了。推荐使用:void swap( int *p1,int *p2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询