问答题 函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其他字符则保持不变;并将转换后的结果作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include /********** found**********/ 【1】 fun(char ch) { /**********found**********/ if (ch>='0' && 【2】) /********** found**********/ return '9'- (ch-【3】); return ch ; } main () { char cl, c2; printf("/nThe result :/n"); cl='2'; c2 = fun(cl); printf ("cl=%c c2=%c/n", cl, c2); cl='8'; c2 = fun(cl); printf("cl=%c c2=%c/n", cl, c2) ; cl='a'; c2 = fun(cl); printf("cl=%c c2=%c/n", cl, c2); }
【正确答案】正确答案:(1)char (2)ch<='9' (3) '0'
【答案解析】解析:函数fun的功能是进行数字字符转换。 第一空:由主函数内fun函数的调用“c1='2';c2=fun(c1);”,而c1和c2是char变量,可知fun函数的返回值类型是char,故第一空处补充返回值类型应为“char”。 第二空:数字字符是“'0'~'9'”,因此,数字字符必须“ch>='0'”且“ch<='9'”,故第二空处应为“ch<='9'”。 第三空:数字字符转换规则是:“'0'”转换成“'9'”,“'1'”转换成“'8'”,“'2”'转换成“'7',……,'9'”转换成“'0'”,即返回值为“'9'-(ch-'0')”,故第三空处应为“'0'”。