下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符‘0’~‘9’,则将‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,…,‘9’转换成‘0’;若是其他字符则保持不变,并将转换后的结果作为函数值返回。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
/********found********/
(1) fun(char ch)
/********found********/
if(ch>=’0’&& (2) )
/********found********/
return’9’-ch- (3) );
return ch;
main()
(char c1,c2;
printf("\nThe result:\n")"
c1=’2’;c2=fun(c1);
printf("c1=%c c2=%c\n",c1,c2);
c1=’8’;c2=fun(c1);
printf("c1=%c c2=%c\n",c1,c2);
c1=’a’;c2=fun(c1);
printf("c1=%c c2=%c\n",c1,c2);
参考答案:char (2)ch<=’9’ (3)’0’
解析:
本题关键字有:函数定义;if语句条件表达式;函数返回值。函数定义一般形式为:类型标识符函数名(形式参数列表),形参可以是各种类型的变量,各参数之间用逗号隔开,形参列表中要给出形参类型。
[微分析]
填空1:函数的类型由类型标识符表示,与函数返回值的类型相同,所以应该填入char。
填空2:if语句用来判断字符是否为数字字符。
填空3:return语句返回转换后的字符,完成字符转换应填入return’9’-(ch-’0’)。