填空题 请补充函数proc(),该函数的功能是将字符串str中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“How Are You?”,则输出“how are you?”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char*proc(char str[])
{
int i;
for(i=0;str[i];i++)
{
if((str[i]>="A")&&( 1))
2;
}
return( 3);
void main()
{
char str[81];
printf("/nPlease enter a string:");
gets(str);
printf("/nThe result string is:/n%s",
proc(str));
}
【正确答案】
【答案解析】str[i]<="Z" str[i]+=32 str[解析] 要将字符串中所有的大写字母改为对应的小写字母,首先应该找出字符串中所有的小写字母。判断一个字符是否是大写字母,只要看其是否在A和Z之间,因此第一处填“str[i]<="Z"”;每找到一个大写字母,就将其改为小写字母。大写字母与小写字母之间的关系为ASCII相差32,因此第二处填“str[i]+=32”;得到的新的字符串放在s1中,要将其返回给主函数,因此第三处填“str”。