以下程序中函数huiwen的功能是检查一个宁符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空______。 # include <s

admin2010-09-05  30

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

选项

答案str+strlen(str)-1

解析 先从main函数开始看,它先读入字符串,接下来肯定是要判断这个字符串是否是回文,冉看huiwen函数,它的主要思想是用p1指向字符串的首地址,p2指向字符串的尾地址(不包括结束符‘/0‘),将p1左移,p2右移,直到这两个指针相遇,如果在移动过程中发现p1!=p2,则该字符串不是回文,否则其是同文。因此。在空中填str+strlen(str)-1。
转载请注明原文地址:https://kaotiyun.com/show/POWp777K
0

最新回复(0)