c语言"回文"判断
来源:互联网 发布:书生软件手机版 编辑:程序博客网 时间:2024/06/08 15:09
习题1.1
题目:
“回文”是正读和反读相同的字符串,如“232”,“XYZAZYX”等。编写字符串实现判断字符串是否是回文。
代码:
#include<stdio.h>#include<string.h>#include<math.h>int HuiWen(char s[])/*回文判断,如果是回文,返回1,否则返回0*/{ char *start=s,*end=s+strlen(s)-1; /*初始化start和end,分别指向字符串的第一个字符和最后一个字符*/ for(;end>start;end--,start++) /*将start和end指向的字符依次比较,如果*start=*end,则start向后移动,end向前移动*/ if(*start!=*end) /*如果*start≠*end,则停止比较并退出循环*/ break; return end<=start; /*如果是回文返回1,否则返回0*/}void main(){ char *s[]={"123321","XYZAZYX","1232"}; int i; for(i=0;i<sizeof s/sizeof(s[0]);i++) { if(HuiWen(s[i])==1) printf("字符串%s是回文!\n",s[i]); else printf("字符串%s不是回文!\n",s[i]); }}
其他:
注意1:
printf("sizeof(s)_____%d____\n",sizeof(s)); printf("sizeof(s[0])______%d____\n",sizeof(s[0])); printf("s[0]___%s____\n",s[0]); printf("strlen(s)_______%d____\n",strlen(s)); printf("sizeof(char*)____%d____\n",sizeof(char*)); printf("sizeof(char)_____%d____\n",sizeof(char)); printf("%p____%p____%p\n\n",s,s[0],s[1]); sizeof(s)_____24____ sizeof(s[0])______8____ s[0]___123321____ strlen(s)_______3____ sizeof(char*)____8____ sizeof(char)_____1____ 0x7fffd2263060____0x4007bd____0x4007c4
注意2:
在代码中char型的s+strlen(s)-1是什么意思?s应该是一个字符串吧?那么s同时也是首字符地址strlen(s)为s的长度那么s+strlen(s)-1就是字符串的末尾地址
0 0
- C 语言,判断回文
- c语言"回文"判断
- C语言判断回文
- C语言判断回文数
- C语言 判断回文字符串
- 【c语言】判断回文数组
- 【c语言】判断回文字符串
- C语言--判断回文数
- c语言代码简单回文判断
- 判断回文(c语言实现)
- C语言-数组指针判断回文数
- C语言实现判断回文数
- C语言——回文串判断
- 【C语言】判断回文数及字符串
- (C语言)回文数的判断
- 【C语言】“回文数”的判断
- 【C语言】判断字符串是否是回文
- 【C语言】冒泡排序与回文判断
- 最短路 hd 2544
- View的隐藏和显示设置注意事项
- Git 常用命令大全
- mybatis的框架原理+入门程序解析
- 用source 命令导入mysql数据库
- c语言"回文"判断
- 用Unity时,C#中List删除元素时出错
- 数据挖掘编程语言选择(Python与R的PK)
- 1011. A+B和C (15)
- 六度分离 hd 1869
- Android视频播放之vitamio播放视频(一)
- HDU 1596 find the safest road (最短路径----dijkstra)
- Linux 文件夹权限
- 11.leetcode Container With Most Water(medium)[分析规律减少搜索空间]