C,C++ 回声字符串判断(字符串指针用法)
最编程
2024-06-07 22:58:50
...
功能:输入一个字符串,判断是否为回文。
主要锻炼指针的用法。
1.C版
#include<stdio.h> int main() { char he[100]; char a; int i=0,flag=1; while((a=getchar())!='\n') { he[i]=a; i++; } int n=i; for(i=0;i<n/2;i++) { printf("%c\t%c\n",he[i],he[n-1-i]); if(he[i]!=he[n-1-i]) { printf("no");break; } } if(flag==1) { printf("yes"); } return 0; }
getchar()函数依次获取一个输入,并赋给char型变量a,再通过a赋给char型数组he[]。
当输入“\n”即回车时,跳出循环。
2.C++版
#include<iostream> #include<string.h> using namespace std; int main(void) { char *p="abcba"; int n=strlen(p); bool flag=1; int i; for(i=0;i<n/2;i++) { cout<<p[i]<<"\t"<<p[n-1-i]<<endl; if(p[i]!=p[n-1-i]) { flag=0; cout<<"no"<<endl;break; } } if(flag==1) cout<<"yes"<<endl; return 0; }
strlen()取长度
3.C函数调用版
#include<stdio.h> #include<string.h> int pp(char *p) { int n=strlen(p),i; //printf("%d",n); if(p==NULL)return -1; for(i=0;i<n/2;i++) { // printf("%c\t%c\n",p[i],p[n-1-i]); if(p[i]!=p[n-1-i]) { return 0; } } return 1; } int main() { char *p="abcba"; int a=pp(p); printf("%d",a); }
pp()为一个int型函数,故返回一个int型的值,在主函数中通过声明一个int a来接收。
推荐阅读
-
LeetCode: 回声计数和回声字符串相关主题 (C++)
-
LeetCode 的 C++ 实现(131.分割回声字符串)
-
C,C++ 回声字符串判断(字符串指针用法)
-
[leetcode 面试经典 150 题] 25. 验证回声字符串 (C++)
-
c++ 加载等式、数组、指针、字符串类
-
C++ STL 组织(6)的字符串用法(拼接、查找、替换、比较、截取子串)组织
-
深入理解C++:数组、指针与字符串详解——带你玩转Pointer heaven 📖
-
C++实现字符串与数值之间的转换(to_string, stoi和stod用法详解)
-
将 C++ 字符串转换成数字:stoi, stoll, stof 和 stod 的用法解析
-
C++中的字符串查找功能: VBA中find函数的用法