正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同 介绍 printf函数时已提到过,这里从函数调用的角度再强调一下 【例8.3】 main int i=8 printf("%d\n%d\n%dn%dn”,+i,一i,i++,i-) 如按照从右至左的顺序求值。运行结果应为 778 如对 printf语句中的++i,-i,i++,i一从左至右求值,结果应为 9889 应特别注意的是,无论是从左至右求值,还是自右至左求值,其输出顺序都是不变的, 即输出顺序总是和实参表中实参的顺序相同。由于 Turbo C现定是自右至左求值,所以结果 为8,7,7,8。上述问题如还不理解,上机一试就明白了 843被调用函数的声明和函数原型 在主调函数中调用某函数之前应对该被调函数进行说明(声明),这与使用变量之前要 先进行变量说明是一样的。在主调函数中对被调函数作说明的目的是使编译系统知道被调函 数返回值的类型,以便在主调函数中按此种类型对返回值作相应的处理。 其一般形式为: 类型说明符被调函数名(类型形参,类型形参.) 或为 类型说明符被调函数名(类型,类型) 括号内给出了形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以 防止可能出现的错误 例8.1main函数中对max函数的说明为: int max(int a, int b) 或写为 int max(int, int) C语言中又规定在以下几种情况时可以省去主调函数中对被调函数的函数说明。 1)如果被调函数的返回值是整型或字符型时,可以不对被调函数作说明,而直接调用 这时系统将自动对被调函数返回值按整型处理。例8.2的主函数中未对函数s作说 明而直接调用即属此种情形。 2)当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数 第7页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第7页 参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。 介绍 printf 函数时已提到过,这里从函数调用的角度再强调一下。 【例 8.3】 main() { int i=8; printf("%d\n%d\n%d\n%d\n",++i,--i,i++,i--); } 如按照从右至左的顺序求值。运行结果应为: 8 7 7 8 如对 printf 语句中的++i,--i,i++,i--从左至右求值,结果应为: 9 8 8 9 应特别注意的是,无论是从左至右求值, 还是自右至左求值,其输出顺序都是不变的, 即输出顺序总是和实参表中实参的顺序相同。由于 Turbo C 现定是自右至左求值,所以结果 为 8,7,7,8。上述问题如还不理解,上机一试就明白了。 8.4.3 被调用函数的声明和函数原型 在主调函数中调用某函数之前应对该被调函数进行说明(声明),这与使用变量之前要 先进行变量说明是一样的。在主调函数中对被调函数作说明的目的是使编译系统知道被调函 数返回值的类型,以便在主调函数中按此种类型对返回值作相应的处理。 其一般形式为: 类型说明符 被调函数名(类型 形参,类型 形参…); 或为: 类型说明符 被调函数名(类型,类型…); 括号内给出了形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以 防止可能出现的错误。 例 8.1 main 函数中对 max 函数的说明为: int max(int a,int b); 或写为: int max(int,int); C语言中又规定在以下几种情况时可以省去主调函数中对被调函数的函数说明。 1) 如果被调函数的返回值是整型或字符型时,可以不对被调函数作说明,而直接调用。 这时系统将自动对被调函数返回值按整型处理。例 8.2 的主函数中未对函数 s 作说 明而直接调用即属此种情形。 2) 当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有