大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数中定义的参数叫formal
成都创新互联从2013年成立,先为桐梓等服务建站,桐梓等地企业,进行企业商务咨询服务。为桐梓企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
parameter(
形式参数
),
调用的参数叫actual
parameter(
实际参数
).
有的书是另一种讲法:
函数中定义的参数叫argument,调用的参数叫
parameter.
#include stdio.h
void fun(int * a,int k);
void main()
{
int a[10];
printf("请输入10个整数:\n");
for(int i=0;i10;i++)
{
scanf("%d",a[i]);
}
fun(a,sizeof(a)/sizeof(a[0]));
}
void fun(int a[],int k)//这就是你想要的函数
{
int g0=0,t0=0,e0=0;/*g0就是0,t0就是小于0,e0就等0*/
for(int i=0;ik;i++)
{
if(a[i]0) g0++;
if(a[i]==0) e0++;
if(a[i]0) t0++;
}
printf("大于0的个数为:%d\n",g0);
printf("小于0的个数为:%d\n",t0);
printf("等于0的个数为:%d\n",e0);
}
/*
说明就和ichenq的差不多,只是ichenq的那个有问题,比如他的if语句里多了几个";"号,导致无没通过,另外我用他的函数来测试得不到想要的结果
sizeof(a)/sizeof(a[0])就是数组a的长度*/
C语言传递的是值而不是地址,这一点从VB转过来的程序员一定要注意。否则不经意间就会犯错误。另外下层函数修改上层函数变量不是一种好习惯,容易引发错误。C语言中函数可以返回一个函数值,如果你需要返回多个函数值可以用下面的形式\x0d\x0a\x0d\x0afun(int *a, int *b)\x0d\x0a{ *a=1;*b=2;}\x0d\x0amain()\x0d\x0a{ int a, b;\x0d\x0afun(a,b) a,b的值被改变\x0d\x0a}\x0d\x0a\x0d\x0a如果按VB的习惯,\x0d\x0afun(int a, int b)\x0d\x0a{ a=1;b=2;}\x0d\x0amain()\x0d\x0a{ int a, b;\x0d\x0afun(a,b);a、b的值没有改变\x0d\x0a}\x0d\x0a是错误的,main中的a,b和fun中的a,b完全是两码事,结果就是调运fun没有任何效果。