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

admin2020-04-18  61

问题 给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。
    例如,若输入’’Ab,cD’’,则输出’’AB,CD’’。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
1  #include<stdio.h>
2  #include<string.h>
3   char* fun(char tt[])
4     {
5  int i;
6    for(i=0;tt;i++)
7  /**********found**********/
8  if((’a’<=tt)||(tt<=’z’))
9   /**********found**********/
10   tt+=32;
11   return(tt);
12  }
13  main()
14   {
15   char tt[8 1];
16  printf(’’\nPlease enter a string:’’);
17   gets(tt);
18    printf(’’\nThe result string is:\n%s’’,fun(tt));
19   }

选项

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

解析 (1)第一个错误标识下的if判断语句中的逻辑有误,应该是与(&&)的关系,不是或(2)的关系,所以if判断语句改为“if((’a’<=tt)&&(tt<=’z’))”。
(2)第二个标识下小写字母转换为大写字母的转换算法有误,小写转换为大写应该是减去32,而不是加上32,所以“tt+=32;”改为“tt=-32;”。
转载请注明原文地址:https://jikaoti.com/ti/zWG0FFFM
0

最新回复(0)