问题 填空题

下列给定程序中,函数fun()的作用是,将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Ab,cD",则输出"ab, cd"。
请改正函数fun()中的错误,使它能得出正确的结果。
注童:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <string.h>
#include <conio.h>
char *fun (char tt[])

int i;
for(i=0; tt[i]; i++)
/**************found**************/
if((’A’ <=tt[i]||(tt[i]<=’z’ ))
tt[i]+=32;
return(tt);

main()
int i;
char tt[81];
clrscr();
printf("\nPlease enter a string:");
gets(tt);
printf("\nThe result string is:\n %s",
fun(tt));

答案

参考答案:错误:if((’A’ <=tt[i]||(tt[i]<=’Z’)) 正确:if((tt[i]>=’A’)&&(tt[i]<=’Z’))

解析: 从ASCII码表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII码值大32。将字符串中的大写字母改为小写字母的方法是,从字符串第1个字符开始,根据ASCII码值判断该字母是不是大写字母,若是,则ASCII码值加32即可;重复执行以上过程直至字符串尾。本题可利用条件选择语句和循环语句来实现。

单项选择题
单项选择题