给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文"是正读和反读都一样的字符串(不区分大小写字母)。 例如,LEVEL和Level是“回文”,而LEVLEV不是

admin2017-11-27  36

问题   给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文"是正读和反读都一样的字符串(不区分大小写字母)。
  例如,LEVEL和Level是“回文”,而LEVLEV不是。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
#include
#include
#include
int fun(char *s)
{ char *lp,*rp;
/********* found**********/
lp= 【1】 ;
rp=s+strlen(s)-1;
while((toupper(*lp)==toupper
(*rp)) && (lp/**********found**********/
lp++; rp 【2】 ;}
/********* found**********/
if(lpelse return 1;
}
main ()
{ char s[81];
printf("Enter a string: ");
scanf ("%s",s);
if(fun(s)) printf("\n\"%s\" is
a Palindrome.\n\n",s);
else printf("\n\"%s\" isn’t a
Palindrome.\n\n",s);
}

选项

答案(1)s (2)-- (3)return 0

解析 第一空:“rp=s+strlen(s)-1;”可知rp指向最后一个元素,因此,1Ip是指向第一个元素,故第一空应为“s”。
    第二空:“1p++;rp【2】;”1p往后移动,rp应该往前移动,故第二空处应为“--”。
    第三空:“if(1p
转载请注明原文地址:https://jikaoti.com/ti/7Ha0FFFM
0

最新回复(0)