String 我使用scanf()将输入作为字符串,但使用cout将输出作为字符串。为什么我的程序会终止?

String 我使用scanf()将输入作为字符串,但使用cout将输出作为字符串。为什么我的程序会终止?,string,scanf,String,Scanf,我用scanf()将输入作为字符串,但用cout输出。我的程序终止了。但是如果我用printf()而不是cout,它会工作。有人能告诉我这个吗 #include<bits/stdc++.h> using namespace std; int main(){ string s; scanf("%s",s); cout <<s<<endl; } #包括 使用名称空间std; int main(){ 字符串s; scanf(“%s”,s); cout使用c字符串

我用scanf()将输入作为字符串,但用cout输出。我的程序终止了。但是如果我用printf()而不是cout,它会工作。有人能告诉我这个吗

#include<bits/stdc++.h>
using namespace std;

int main(){
string s;
scanf("%s",s);
cout <<s<<endl;
}
#包括
使用名称空间std;
int main(){
字符串s;
scanf(“%s”,s);
cout使用c字符串(字符数组)。

请提供一个演示这个问题的代码。您没有提供足够的代码来让我们看到问题。PrimTf和Sncf都使用C字符串。使用字符串类的C++工具将不能用于C字符串的旧C工具。