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

C++用单个>>输入两个short int时第二个变量值异常问题

问题原因

你使用的输入方式(输入5加空格再加5)是完全正确的,问题出在输入语句的逻辑错误:
cin >> var7, var8; 中的逗号是C++逗号运算符,运算优先级远低于>>,因此这条语句实际只会执行cin >> var7给var7赋值,var8全程没有参与输入操作,属于未初始化的局部变量,打印时输出的就是栈内存中的随机残留值,也就是你看到的28900这类异常数字。

修正方案

要满足「仅用一条语句、通过>>完成两个变量取值」的要求,将输入语句修改为连续调用>>运算符即可,修正后的完整代码如下:

printf("enter an integer for var7 and var8 \n");
short int var7, var8;
cin >> var7 >> var8;
printf("Short integer value 7 is %d \n", var7);
printf("Short integer value 8 is %d \n", var8);

修改后你原来的输入方式可以正常识别两个数值,输出结果符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:54:06