C语言:这道题什么意思?函数声明还可以在函数里面?

来源:百度知道 编辑:UC知道 时间:2024/05/30 00:05:42
输入三个整数,按由小到大的顺序输出..

#include<stdio.h>
main()
{void swap(int *p1,int *p2);
int n1,n2,n3;
int *p1,*p2,*p3;
printf("input three integer n1,n2,n3:");
scanf("%d,%d,%d",&n1,&n2,&n3);
p1=&n1;
p2=&n2;
p3=&n3;
if(n1>n2)swap(p1,p2);
if(n1>n3)swap(p1,p3);
if(n2>n3)swap(p2,p3);
printf("Now,the order is:%d,%d,%d\n",n1,n2,n3);

}
void swap(int *p1,int *p2)
{int p;
p=*p1;*p1=*p2;*p2=p;

}

void swap(int *p1,int *p2);最开头的声明还可以写在函数里面?

是可以这样的 但是对模块化没什么好处

建议还是写在最前面,或者写在头文件里

void swap(int *p1,int *p2);
称为函数引用性声明,为提前引用函数做说明。即可以在函数外,也可以在函数内。

这说明 所声明的函数是后面定义的。
我经常就是这么用的呀,这样的话模块化性能应该更好呀!