关于string的疑问

leizh007 leizh007 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
刚开始学C++,望大家不吝赐教
#include<iostream>
#include<string>
#include<cctype>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1("asdfasf,fas.sd"),s2;
string::size_type a,b;
b=0;
for(a=0;a<s1.size();a++)
{
if(!ispunct(s1[a]))
s2[b++]=s1[a];//这个地方为什么会有问题??谢谢
}
cout<<s2<<endl;
return 0;
}

写成下面就没问题,有什么不同,谢谢。
#include<iostream>
#include<string>
#include<cctype>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1("asdfasf,fas.sd");
char s2[100];
string::size_type a,b;
b=0;
for(a=0;a<s1.size();a++)
{
if(!ispunct(s1[a]))
s2[b++]=s1[a];
}
s2[b]=0;
cout<<s2<<endl;
return 0;
}
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
leizh007
C++ 语言 65,214 成员 250,514 内容