这是我的尝试:
#include <iostream>
#include<string>
using namespace std;
int main()
{
string s("hello world!..!.");
for (auto &c : s)
if(!ispunct(c))
{
cout<<s;
}
}
这是输出
你好世界!..!.你好世界!..!.你好世界!..!.你好世界!..!你好世界!..!. 你好世界!..!.你好世界!..!.你好世界!..!.你好世界!..!你好世界!..!. 你好世界!..!。
这是另一个尝试:
#include <iostream>
#include<string>
using namespace std;
int main()
{
string s("hello world!..!.");
for (auto &c : s)
if(!ispunct(c))
{
cout<<c;
}
}
这给出了正确的输出(即:hello world)
为什么不cout<<s;
给我正确的输出?毕竟c
是参考,所以对 的任何更改c
也适用于s
. 还是我错了?