问答题 下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。 例如,若输入“Ab,cD”,则输出“AB,CD”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#inClude < conio.h >#include < stdio.h >#include < string.h >char*fun(char tt[]){ int i; for(i=0;tt[i];i++)/*********found*********/ if((tt[i] >='a')||(tt[i] < ='z'))/*********found*********/ tt[i]+=32; return(tt); } main() { char tt[81]; print:f("/nPiease enter a string:"); gets(tt); printf("/nThe result stringis:/n%s",fun(tt)); }
【正确答案】正确答案:(1)if((tt[i] >='a')&&(tt[i] < ='z')) (2)tt[i]一=32;
【答案解析】解析:本题考查:if语句条件表达式;小写字母转换为大写字母的方法。 (1)分析本题可知,要判断字符是否为小写字母,即判断其是否在‘a’一‘z’之间,所以这里需要进行连续的比较,用&&。 (2)从ASCII码表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII值大32。将字符串中的小写字母改为大写字母的方法是:从字符串第一个字符开始,根据ASCII码值判断该字母是不是小写字母,若是,则ASCII码值减32。