C++中的可变长数组string
来源:互联网 发布:apache base64 encode 编辑:程序博客网 时间:2024/06/14 09:40
看一个题目:
编写一个程序,判断一个字符串是否为“回文”(顺读和倒读都一样的字符串称为“回文”)。
#include<iostream>#include<string>using namespace std;int main(){ string s,g; cin <<s; for( int i=0;i<s.size();i++ ) { g[s.size()-i-1]=s[i]; } if( s == g ) { printf("回文"); } else { printf("非回文"); } return 0;}
然而这个代码并不能满足要求,我们看到第10行的代码,这行代码想按位倒序把字符串s复制给字符串g,然而这个代码并不能正常执行。有人可能会奇怪:C++中的string类定义的不是可变长字符串吗?
C++中使用string定义的字符串虽然是可变长字符串,但是不能采用上边这种方式改变长度。上边代码中的字符串g没有初始化,g[0]、g[1]这些空间都还没有被声明定义出来,所以不能直接访问和使用。所以修改一下:在输入字符串s之后把s字符串直接复制给g,这样g的长度就被改变了,也就实现了可变长数组的功能。
修改后的代码如下:
#include<iostream>#include<string>using namespace std;int main(){ string s,g; cin <<s; g = s; for( int i=0;i<s.size();i++ ) { g[s.size()-i-1]=s[i]; } if( s == g ) { printf("回文"); } else { printf("非回文"); } return 0;}
0 0
- C++中的可变长数组string
- C实现可变长数组
- 结构体中的 可变长数组
- Linux c 的可变长数组
- C语言 数据结构 可变长数组 array_list
- C语言中的可变长参数(转载)
- C语言中的可变长参数
- C语言中的可变长参数
- c语言中的可变长参数
- C语言柔性数组(可变长数组)
- 实现可变长数组的数组-征服C指针
- 可变长的数组
- 可变长数组
- 可变长数组
- JavaScript可变长数组
- 可变长数组在gcc编译器中的实现
- 可变长数组在GCC编译器中的实现
- C语言中使用“可变长数组”需注意!
- POJ 3344 Chessboard Dance 可能会
- 关于keil软件编译后的data xdata 和code的说明
- Whoere即时聊天App(一)项目综述
- 学生信息管理系统
- 第三章 View事件体系(3)之滑动冲突
- C++中的可变长数组string
- 异步操作校验工具awaitility源码分析
- 算法训练 乘法表
- 链表的一些操作
- 利用jQuery来对字符串数组和数值数组排序
- mysql 存储引擎
- 90. Subsets II -Medium
- python标准库之urllib, httplib, urllib2
- 1.Hadoop初识