让我们看看另一个例子. 以下例子使用功能要求的广场,广场上写道号码1至10.
#include <stdio.h>
int square(int x); /* 函数原型 */
int main()
{
int counter;
for (counter=1; counter<=10; counter++)
printf("Square of %d is %d\n", counter, square(counter));
return 0;
}
/* 界定功能『坊』 */
int square(int x)
{
return x * x;
}
这一计划将产量表现如下:
Square of 1 is 1
Square of 2 is 4
Square of 3 is 9
Square of 4 is 16
Square of 5 is 25
Square of 6 is 36
Square of 7 is 49
Square of 8 is 64
Square of 9 is 81
Square of 10 is 100 |
功能样机广场宣布以整数函数参数和返回整数.当编译到达广场的功能要求主程序,它能够遏制针对功能电话功能的定义.
当到达路线纲领来电功能坊 频道节目的功能与执行功能,然后恢复其路径是通过主程序.节目类型没有回报应该宣布无效用.因此参数的功能,可通过参考价值还是路过.
递归函数是一种号称功能.这个过程称为递归.
路经价值功能
广场功能的参数上来说都是通过价值.这意味着只有一本已交给变函数.任何改变价值不会反射回来的电话功能.
下列例子通过利用逐价值和价值的变化通过参数 其中并没有对电话功能.count_down功能已被宣布为无效,因为没有返回类型.
#include <stdio.h>
void count_down(int x);
int main()
{
int counter;
for (counter=1; counter<=10; counter++)
count_down(counter);
return 0;
}
void count_down(int x)
{
int counter;
for (counter = x; counter > 0; counter--)
{
printf("%d ", x);
x--;
}
putchar('\n');
}
产量将展示节目如下:
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
6 5 4 3 2 1
7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
10 9 8 7 6 5 4 3 2 1 |
|