下列给定程序中,函数fun()的功能是:从字符串s中,删除所有大写字母’F’。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio

admin2013-06-12  35

问题 下列给定程序中,函数fun()的功能是:从字符串s中,删除所有大写字母’F’。
   请改正程序中的错误,使它能得到正确结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include <stdio.h>
   void fun(char *s)
   {
    int i, j;
   /*************found**************/
    for(i=j=0; s!= ’0’;i++)
      if(s != ’F’)
   /*************found**************/
        s[j]=s;
    s[j]=’\0’;
   }
   main ( )
   {
    char s[80];
    printf("\nEnter a string:   ");
    gets(s);
    printf("The original string:  ");
    puts(s);
    fun(s);
    printf("The string after deleted: ");
    puts(s);
    printf("\n\n ");
   }

选项

答案(1)错误:for(i=j=0;s[i]!=’0’;i++) 正确:for(i=j=0;s[i]!’\0’;i++) (2) 错误:s[j]=s[i] 正确:s[j++]=s[i];

解析 错误1:本题考查是否掌握字符串的最后一个字符是结束标志符’\0’。错误2:在循环中,新字符串的下标也要递增,这样最终产生一个新的字符串。
转载请注明原文地址:https://kaotiyun.com/show/6gJp777K
0

最新回复(0)