给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。 例如,若输入”Ab,cD”,则输出”AB,CD”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数

admin2019-04-04  25

问题 给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。
    例如,若输入”Ab,cD”,则输出”AB,CD”。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char*  fun (char  tt [] )
{
int i;
   for (i  =  0;  tt ;  i++)
        tt   +=  32;
  return (tt) ;
}
main ()
{
   char tt [81] ;
   printf ("\nPlease enter a string:") ;
  gets (tt) ;
printf("\nThe result string is:
\n%srt  fun (tt)) ;
}

选项

答案(1)i f((’a’<=tt[i])&&(tt[i]<=’z’)) (2)tt[i] —=32;

解析 本题中函数的功能是将字符串中的小写字母改为对应的大写字母。首先判断字母是否为小写字母,如果是小写字母则进行转换。
(1)第一个错误标识下的if判断语句中的逻辑有误,应该是与(&&)的关系.不是或(II)的关系,所以if判断语句改为“if((’a’<=tt)&&(tt<=’z’))”。
(2)第二个标识下小写字母转换为大写字母的转换算法有误,小写转换为大写应该是减去32,而不是加上32,所以“tt+=32;”改为“tt—=32; ”。
指向一维数组的指针以及指针数组、if语句及其构成的选择。
转载请注明原文地址:https://jikaoti.com/ti/u5f0FFFM
0

最新回复(0)