问题 填空题

以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串“yes!”,否则函数返回字符串“no!”,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adsda。请填空。
#include <stdio, h>
#include <string, h>
char * huiwen(char * str)
char *p1, * p2; int i,t=0;
p1 = str;p2 = 【10】 ;
for(i =0;i<= strlen(str)/2;i ++ )
if( * pl ++ ! = * p2 -- ) t = 1 ;break
if( 【11】 ) return( "yes !" );
else return( "no!" );main( ) char str[50];
printf( "Iaput:" ); scanf(" % s", str);
printf("%s \n", 【12】 );

答案

参考答案:p1+(stfien(str)-1)或str+(strlen(str)-1) t==0或!t huiwen(str)或 (strlen(str)-1)+p1或(stden(str)-1)+str

解析: 回文字符串是指正向与反向拼写都一样。由huiwen函数可知,[12]处应该填写调用函数huiwen(str)。在函数huiwen中,执行P1=str;使p1指向字符串str中第一个字符的地址,则[10]处应该使p2指向字符串str中最后一个字符的地址,故填p1+(stden(str)-1)或str +(strlen(str)-1)。本题要求如果是回文,则返回"yes!",否则,返回"no!",故当t=0时,说明字符串str为回文,所以[11]处应填t==0或!t。

问答题 简答题
填空题