以下程序中函数huiwen的功能是检查一个宁符串是否是回文 当字符串是回文时 函数返回字符串:yes
以下程序中函数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。
相似问题
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数 将其中最小的数语第一
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数语第一个数兑换,把最大的数语最后一个数对换。请填空。 i
有以下程序段: int a[l0]={1 2 3 4 5 6 7 8 9 10} *p=&a[3]
有以下程序段: int a[l0]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是【 】。请帮忙给出正确答案和分析,谢谢!
软件测试中路径覆盖测试是整个测试的基础 它是对软件【 】进行测试。请帮忙给出正确答案和分析 谢谢!
软件测试中路径覆盖测试是整个测试的基础,它是对软件【 】进行测试。请帮忙给出正确答案和分析,谢谢!
以下程序的功能是建立一个带有头结点的单向链表 链表结点中的数据通过键盘输入 当输入数据为-1时 表示
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条
以下程序的作用是:从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。 incl
以下程序的作用是:从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。 include <stdio.h> main() {FILE *fp; char ch; fp
