2019/6/9
函数
函数声明时,ANSI C要求在每个变量前都声明其类型。不能像普通变量声明那样使用同一类型的变量列表:
void dibs(int x, y, z) /无效的函数头/
void dibs(int x,int y,int z) /有效的函数头/
void dibs(int ,char) /有效的函数头/
#include<stdio.h>
int imin(int , int );
int main(void)
//两个整数找小者的函数
{
int a, b;
printf("Enter a pair of integers (q to quit):\n");
while (scanf("%d %d", &a,&b) == 2)
{
printf("The lesser of %d and %d is %d.\n",a,b,imin(a,b));
printf("Enter a pair of integers (q to quit):\n");
}
return 0;
}
int imin(int n, int m)
{
int min;
if (n < m)
min = n;
else
min = m;
return min;
}
/*简化版本
int imin(int n, int m)
{
return (n < m) ? n:m;
}
*/
9.10 复习题
- 实际参数和形式参数的区别是什么?
答:形式参数是定义在被调函数中的变量。实际参数是出现在函数中调用的值,该值被赋给形式参数。可以把实际参数视为在函数调用时初始化形式参数的值。 - void donut ( int n) 接受一个int类型的参数,打印若干(参数指定数目)个0;
int gear(int t1, int t2)接受两个int类型的参数,返回int类型的值;
int guess(void)不接受参数,返回一个int类型的值;
void stuff_it(double d, double *pd)接受有个double类型的值,和double类型变量的地址,把第一个值储存在指定位置。 - char n_to_char(int n);
int digit(double x, int n);
double *which(double *p1, double *p2);
int random(void); - 设计一个函数,返回两个整数之和
int sum(int a, int b) { return a + b; }
-
double sum(double a, double b) { return a + b; }
void alter(int *pa,int *pb) { int tepm; temp = *pa +*pb; *pb = *pa - *pb; *pa = temp; }
- num应该声明在salami()函数的参数列表中,而不是声明在函数体中。另外,把count++改成num++(貌似原题中没错,或者应该把num++改成count++?)