下列给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为”baacda”,c中的字符为a,执行后s所指字符串为”baaaacdaa”。 请在下

admin2019-04-14  53

问题 下列给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。
例如,若s所指字符串为”baacda”,c中的字符为a,执行后s所指字符串为”baaaacdaa”。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(char *s,char c)
{
int i,j,n;
/* * * * * * found * * * * * */
for(i=0;s=____1____;i+ +)
if(s= =(c)
{
/* * * * * *found * * * * * */
n=____2____;
while(s[i+1+n]!=′\0′)n+;
for(j=i+n+1;j>i;j— —)
s[j+1]=s[j];
/* * * * * * found* * * * * */
s[j+1]=____3____;
i=i+1;
}
}
main( )
{
char s[80]=″baacda″,c;
printf(″\nThe string:%s\n″,s);
printf(″\nInput a character:″);
scanf(″%c″,&c);
fun(s,c);
printf(″\nThe result is:%s\n″,s);
}

选项

答案(1)′\0′ (2)0 (3)c

解析 本题考查:字符串结束标识′\0′;变量赋初值操作;数组元素赋值。
填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为′\0′。
填空2:while语句用于确定字符串的长度,所以变量n赋初值为0。
填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,所以找到后,应该给数组元素赋值,该题目给出参数为c。
转载请注明原文地址:https://kaotiyun.com/show/j1Rp777K
0

最新回复(0)