下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #inc

admin2009-02-15  44

问题 下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。
   请改正程序中的错误,使它能得到正确结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include<stdio.h>
   #include<conio.h>
   void fun(char*S)
   {
   int i,j;
   for(i=0,j=0;s! =’\0’;i++)   
   /*************found************/
       if((s>=’A’&&s<=’Z’)&&(s>= ’a’&&S<=’z’,))
         s[j++]=s
   /*************found*************/
   s[j]=“\0”;
   }
    main()
   {
   char item[80];
   clrscr();
   printf(“\nEnter a string:”);
   gets(item);
   printf(“\n\nThe string is:\%S\n",item);
   fun (item);
   printf("\n\nThe string of changing
          is:\%S\n",item);
   }

选项

答案(1)错误:if(s[i]>=’A’&&s[i]<=’Z’)&&(s[i]>=’a’&&s[i]<=’z’)) 正确:if((s[i]>=’A’&&s[i]<=’Z’)||s[i]>=’a’&&s[i]<=’z’)) (2) 错误:s[j]="\0" 正确:s[j]=’\0’

解析 错误1:字母包括小写字母和大写字母,这里是“或”的关系,所以用“||”运算符。错误2:字符串的结束标志符为字符,而不是字符串。
转载请注明原文地址:https://kaotiyun.com/show/YTID777K
0

最新回复(0)