You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用cin获取用户输入异常:无法输入直接返回代码界面求助

问题修复方案

你的代码存在三个关键问题,导致无法获取用户输入:

  • 函数未被实际调用:main里直接写GetUsername和Getpassword,输出的是函数的内存地址,根本没触发输入逻辑。必须通过()调用函数。
  • 中文符号非法:代码里的引号“”、单引号‘’都是中文符号,C++只识别英文的""和'',这会导致编译异常或逻辑错误。
  • 函数设计冗余:输入函数接收的string参数完全没用,改成无参函数更合理。

修正后的代码如下:

#include <iostream>
#include <string>

// 预约时间审批项目
std::string GetUsername()
{
    std::string Username;
    std::cin >> Username;
    return Username;
}
 
std::string GetPassword()
{
    std::string Password;
    std::cin >> Password;
    return Password;
}

int main()
{
    std::cout << "Login\n";
    std::cout << "Username: ";
    std::string username = GetUsername();
    std::cout << username << '\n';
    
    std::cout << "Password: ";
    std::string password = GetPassword();
    std::cout << password << '\n';
    
    return 0;
}

修正细节说明:

  1. 调整输入函数为无参形式,内部声明局部变量存储用户输入,避免冗余参数。
  2. 替换所有中文符号为英文符号,确保编译器正确解析代码。
  3. 显式包含<string>头文件,符合C++标准规范(部分编译器可能间接包含,但显式引入更稳妥)。
  4. 拆分输入逻辑:先输出提示文本,再调用函数获取输入,最后输出结果,流程更清晰。

运行修正后的代码,程序会先等待你输入用户名,回车后再等待输入密码,完全符合预期逻辑。

内容的提问来源于stack exchange,提问作者An_phan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 23:35:58