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

admin2016-12-06  27

问题 下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
1  #include<stdlib.h>
2  #include<stdio.h>
3  #include<conio.h>
4  void fun(char*s)
5    {
6    int i,j;
7   for(i=0,j=0;s!=’\0’;i++)
8    if(s>=’0’&&s<=’9’)
9    /*********found*********/
10    s[j]=s
11   /*********found*********/
12    s[j]=’’\0’’;
13  }
14  void main()
15  {
16    char item[80];
17    system(’’CLS’’);
18    printf(’’\nEnter a string:’’);
19    gets(item);
20    printf(’’\n\nThe string is:%s\n’’,item);
21    fun(item);
22    printf(’’\n\nThe string of changing is:%s\n’’,item);
23  }

选项

答案(1)s[j++]=s[i]; (2)s[j]=’\0’;

解析 题目要求依次取出字符串中所有的数字字符,因此将元素s存入s[j]后要使j加1,为下次存储做准备。s[j]=’’\0’’;是一个语法错误。
转载请注明原文地址:https://kaotiyun.com/show/JVDp777K
0

最新回复(0)