在C语言中,由于C语言的函数库不太强大,如果把所有的程序代写在一个主函数中,会使主函数变得很长,不容易理解和发现错误,因此我们可以用“组装”的方法来使我们的代码变得更整洁美观,这就是模块化程序设计。我们可以事先定义好一些函数,然后在主函数中可以用一个简洁的函数名来实现各种我们所需要的功能。
如上面这个源代码,它利用两个函数来实现输出一串星号和输出一行字符:
自定义的函数我们在定义时不能在一个函数内再定义一个新的函数,但是我们可以嵌套调用,即在一个函数内在调用另一个函数,如:
在函数中我们还可以实现递归调用,即在函数内直接或间接的使用函数本身,这既是函数的递归调用,如:
问题:有五个学生坐在一起,问第五个学生多少岁,他说比第四,个学生大两岁。问第四个学生岁数,他说比第三个学生大2岁。
问第三个学生,又说比第二个学生大2岁。问第二个学生,说比第一个学生大二岁。最后问第一个学生,他说是10岁。请问第五个学生多大。
要求第五个学生的年龄,,必须知道第四个学生,要知道第四个就必须知道第三个学生的年龄,而第三个学生的年龄有取决于第二个学生的年龄,第二个学生取决于第一个学生的年龄,并且没一个学生都比第一个学生大二岁。即:
age(5)=age(4)+2
age(4)=age(3)+2
age(3)=age(2)+2
age(2)=age(1)+2
age(1)=10
源代码如下: