![]() ![]() |
|
[二级C试题天天练]C语言考试试题4 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:36:37 文章录入:杜斌 责任编辑:杜斌 | |
|
|
下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #include <conio.h> void fun(char *s) { int i,j; for(i=0,j=0; s[i]!= ’\0’; i++) /**********************found***********************/ if((s[i]>= ’a’&&s[i]<= ’z’)&&(s[i]>= ’a’&&s[i]<= ’z’)) s[j++]=s[i]; /**********************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); } 2. 改错题 (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:字符串的结束标志符为字符,而不是字符串。 |
|
![]() ![]() |