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

admin2021-02-25  26

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

解析 由循环条件if(s!=‘c’)可知,如果字符串中的字符不是‘c’,则将保留该宁符到s[j]位置,然后下标j进行加1操作。循环结束后要在新串的结尾加上‘\0’。
转载请注明原文地址:https://kaotiyun.com/show/Totp777K
0

最新回复(0)