字符串除去标点的小程序 vc++编译友4个错误 求高手指教

smart_player 2011-07-19 12:15:50
#include<iostream>
#include<string>
#include<cctype>
using namespace std;

int main ()
{
string s1,s2,ch=" ";
cout<<"enter a string"<<endl;
getline(cin,s1);

while(string::size_type i=0,i!=s1.size(),i++)
{
if(!ispunct(s1[i]))
{
ch[0]=s1[i];
s2+=ch;
}
}

cout<<s2<<endl;
return 0;

}
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
smart_player 2011-07-19
  • 打赏
  • 举报
回复
谢谢大家
我太粗心了 没注意 犯了这样的错误 看了半天也没看出问题
至善者善之敌 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shaotine_wu 的回复:]
while(string::size_type i=0,i!=s1.size(),i++)用错了,这是for语句格式,而且应该用分号,而不是逗号
while的如下
C/C++ code

string::size_type i=0;
while(i!=s1.size())
{
if(!ispunct(s1[i]))
{
ch[0]=s1[i];
s2+=ch;
}
i++;……
[/Quote]
+++1正解
shaotine_wu 2011-07-19
  • 打赏
  • 举报
回复
while(string::size_type i=0,i!=s1.size(),i++)用错了,这是for语句格式,而且应该用分号,而不是逗号
while的如下

string::size_type i=0;
while(i!=s1.size())
{
if(!ispunct(s1[i]))
{
ch[0]=s1[i];
s2+=ch;
}
i++;
}

www_adintr_com 2011-07-19
  • 打赏
  • 举报
回复
while 改成 for, 逗号改分号.
for(string::size_type i=0;i!=s1.size();i++)

while 不支持嵌入式定义变量的.

64,680

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧