一、函数参数有实际参数和形式参数之分。
实际参数:调用函数时,函数名后面括号的时实际参数,实际参数是表达式计算的结果,并且被复制给函数的形式参数。
形式参数:定义参数时,函数名后面括号中的变量名为形式参数,在函数调用之前,传递给函数的值将被复制到这些形式参数里面。
二、数组作实参
(1)当数组作实参时,只传递数组的地址,而表示将整个数组赋值到函数中。当用数组名为实参调用函数时,指向这数组的第一个元素的指针就被传递到函数中。
没有任何下标的数组名就是一个指向该数组第一个元素的指针。
(2)编写函数,求出小于或等于lim的所有素数,并放在aa[]数组里。
#include<stdio.h>
int fun(int lim, int aa[]) //自定义fun函数
{
int i, j = 0, k = 0; //定义数组下标循环控制
for (i = 2; i < lim; i++) //素数判断
{
for (j = 2; j < i; j++)
if (i%j == 0)
break;
if (j == i)
aa[k++] = i;
}
return k;//返回值为k
}
int main()
{
int aa[100], i;
fun(100, aa); //调用自定义函数
printf("100内的素数:\n");
for (i = 0; i < 25; i++) //循环数组内所有素数
{
printf("%d\t", aa[i]); //输出满足条件的数
}
printf("\n");
return 0;
}
结果如下: