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

C++程序输出提示文本前出现多余前缀数字该如何解决

问题根源

输出前的多余数字是你主动打印的布尔值,来源有两处:

  1. main函数中存在两行多余的输出语句,C++默认会把bool类型的true输出为1、false输出为0,这是前缀数字的主要来源
  2. isMale和isTall函数的输入错误分支中,递归调用函数时额外用cout输出了返回的布尔值,用户输入无效内容时也会多打印0/1
修复步骤
  • 删掉main函数里的两行多余输出代码:
cout << ismale;
cout << istall;

你不需要向用户展示这两个布尔变量的原始值,删除后就不会出现前缀的0/1了。

  • 修改两个判断函数的输入错误分支,去掉递归调用前的cout:
    把isMale函数里的cout << isMale();改为直接调用isMale();
    把isTall函数里的cout << isTall();改为直接调用isTall();
    这里仅需要触发递归让用户重新输入,不需要输出函数返回的布尔值。
额外优化建议(可选)

用递归做输入校验如果连续多次输入错误,有栈溢出的风险,新手更推荐用while循环实现输入校验,逻辑更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:45:05