下列给定程序中 函数fun()的作用是:将字符串tt中的小写字母都改为对应的大写字母 其他字
问题详情
下列给定程序中,函数fun()的作用是:将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。例如,若输入“edS,dAd”,则输出“EDS,DAD”。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
include <string.h>
include <conlo.h>
/*************found*************/
char fun(char tt[ ])
{
int i;
for(i=0;tt[i];i++)
{
/*************found*************/
if((tt[i]>="A")&&(tt[i]<="2"))
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));
}请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:(1)错误:char fun(char tt[]) 正确:char*fun(char tt[ ])(2) 错误:if((tt[i]>=‘A’)&&(tt[i]<=‘Z’)) 正确:if((tt[i]>=‘a’)&&(tt[i]<=‘z’))
(1)错误:char fun(char tt[]) 正确:char*fun(char tt[ ])(2) 错误:if((tt[i]>=‘A’)&&(tt[i]<=‘Z’)) 正确:if((tt[i]>=‘a’)&&(tt[i]<=‘z’)) 解析:错误1:函数的返回值是字符串的首地址,是指针类型,所以在函数名前要加'*'号。错误2:题目要求将小写字母改为大写字母,所以if语句的判断条件是小写字母。