C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。 1.函数返回值与return语句 函数的返回值,是通过函数中的return语句来获得的。 (1)return语句的一般格式: return ( 返回值表达式 ); (2)return语句的功能:返回调用函数,并将“返回值表达式”的值带给调用函数。 注意:被调用函数中无return语句,并不是不返回一个值,而是一个不确定的值。为了明确表示不返回值,可以将函数类型定义为“void”,表示为“无(空)类型”。 2.函数类型 在定义函数时,对函数类型的说明,应与return语句中返回值表达式的类型一致,也就是说函数的类型是函数返回值的类型,它可以是我们已经学习过的int、char、floar、double中的任意类型,也可以是我们要在后面学习的构造数据类型和指针类型。如果不一致,则以函数类型为准。如果缺省函数类型,则系统一律按整型处理。 例 求参数n的平方 double sqare(double n) { return n * n; } 例 判断参数n是否为正数 int isPositive(int n) { ¨ if(n>0) ¨ return 1; ¨ else ¨ return 0; } 注意函数isPositive,虽然没有错,但显得很笨拙,更好的方法是: int isPositive(int n) {return n>0;} 或 int isPositive(int n){return (n>0)?1:0} 再举一个不带参数没有返回值的例5.4 : void hello() { ¨ printf(“Hi!\n”); } 良好的程序设计习惯:为了使程序具有良好的可读性并减少出错,凡不要求返回值的函数都应定义为空类型,即使函数类型为整型,也不使用系统的缺省处理。
|