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

admin2010-09-14  15

问题 下列给定程序中,函数fun()的功能是:从字符串s中,删除所有小写字母’c’。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构.
   试题程序:
   # include  <stdio.h>
   void fun(char *s)
   {int i, j;
   for(i=j=0; s != ’\0’;i++)
     if(sill != ’c’)
   /********************************/
        s [j] =s ;
   /**************found*************/
   s=’\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)错误:s[j]=s[i]; 正确:s[j++]=s[i]; (2)错误:s[i]=‘\0’; 正确:s[j]=‘\0’;

解析 由本题循环条件if(s!=‘c’),可知,如果字符串中的字符不是‘c’,则执行循环,所以应该是s[j++])=s,这样错
转载请注明原文地址:https://jikaoti.com/ti/oIkiFFFM
0

最新回复(0)