这是我的代码,我期待输出,但我没有得到。它在接受输入后停止,如果我给出名字 Harsh,我期待输出
你的名字叫严酷
#include <iostream>
#include <cstring>
using namespace std;
int main() {
cout << "Enter your name" << endl;
char *s;
cin >> s;
cout << "Your name is " << s;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过,cin.getline(s,100);但仍然不起作用。所以我请求你解决这个问题并给我解决方案。
您的代码具有未定义的行为,因为您没有分配任何内存来s指向。s是一个未初始化的指针。
试试这个:
#include <iostream>
using namespace std;
int main(){
cout << "Enter your name" << endl;
char s[100];
cin >> s; // or: cin.getline(s,100);
cout << "Your name is " << s;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
或者,您应该使用std::string,例如:
#include <iostream>
#include <string>
using namespace std;
int main(){
cout << "Enter your name" << endl;
string s;
cin >> s; // or: getline(cin,s);
cout << "Your name is " << s;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |