永发信息网

c语言的自定义函数里面的指针声明该怎么做?

答案:5  悬赏:70  手机版
解决时间 2021-04-07 01:49
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;
}
编译就无法通过?
新手小白求解答,谢谢!
最佳答案
void swap( p1, p2)
int *p1,*p2;

这种写2113法是K&R C的声明格式5261,现在的编译4102器普遍遵循ANSI C(或者ISO C)标准,所以现1653在的C语言内程序已经不再使用容这种声明格式了,而是使用如下形式:

void swap(int *p1,int *p2)
全部回答
这种写法已经不推荐使用了,大部分编译器都不识别了。推荐使用:void swap( int *p1,int *p2)
放在花括号外面的是全局变量,不过你这写的好奇葩。。。居然放在大括号上面,函数名下面。。。我佩服了。。。 还有,参数列表最好把数据类型也写上,如:void swap(int *p1, int *p2){.....}。 如果你连那些基础都还没有掌握,就先把基础的东西学好了再学这些东西吧。
这个函数接受2个整形,m和n, 函数内容是一个循环,进行n次,每次将p(初始值1)赋值为p*m,最后返回p的值。 比如x=p(2,3). 就是m=2,n=3. 运行3次循环,第一次,p=p*m=1*2=2, 第二次,p=p*m=2*2=4, 第三次,p=p*m=4*2=8. 最后返回8,x=8.
第一种是早期的写法,现在很少用了。第二种写法有错误,形参应该在函数头部的括号里面声明,而不是在函数体中: void swap(int *p1,int *p2)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁能告诉我zhou的韵母分析?韵头,韵母,韵尾
怎样看再来一瓶?
无线网为什么有人能连上有的不行
求一部香港电影 名字叫九龙的天空:错爱马夫
三教丽展美的空调专营店怎么去啊,有知道地址
用一句话来表达我的心情!!!!!!!!
uplay是激活码在哪看?
2011款原厂油气两用伊兰特燃气系统
跟装饰有关的词语
啃德起汉堡这个地址在什么地方,我要处理点事
历史上先有刘秀还是先有刘备
<反叛的鲁路修>里鲁路修到底喜欢谁呀
内存卡格式化以后会怎样
2012年深圳积分入户分值怎么算
亲密的称呼
推荐资讯
宏达棉布窗帘城怎么去啊,有知道地址的么
凉鸡怎么做,放什么料煮
安卓手机装什么软件有戏曲
近年有机化学研究生的就业方向和待遇。学这个
怎么做一个温柔的人,平易近人的人,我不太会说
眉头在修眉过程中被拔掉后长得不好 眉毛疏 长
冒险岛女时装搭配
羊粪和鸡粪混在一起,发酵多少天能用
2016山东省市高考状元亮相 真正的学霸长这
html中nav,head各是什么意思
化简求值;[(3m+4n)²-3m(3m+4n)]÷(-6
汇编 2的4次方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?