C++ 双倍数字程序意外值 关于节目
该程序获取用户输入的数字,并将该数字加倍输出。我创建了两个函数,一个用于收集数字(getnumber),另一个用于将数字加倍(doublenumber)。程序运行正常;然而,输出并不完全准确 问题 输出仅部分正确。即用户输入50,值加倍,输出应为100。相反,该值输出为100114。只有前几个数字似乎是我想要的 源代码:C++ 双倍数字程序意外值 关于节目,c++,function,pass-by-reference,C++,Function,Pass By Reference,该程序获取用户输入的数字,并将该数字加倍输出。我创建了两个函数,一个用于收集数字(getnumber),另一个用于将数字加倍(doublenumber)。程序运行正常;然而,输出并不完全准确 问题 输出仅部分正确。即用户输入50,值加倍,输出应为100。相反,该值输出为100114。只有前几个数字似乎是我想要的 源代码: #包括 无效双数(int&); 无效getnumber(int&); int main(){ int值; getnumber(值); 双数(值); std::cin.get()
#包括
无效双数(int&);
无效getnumber(int&);
int main(){
int值;
getnumber(值);
双数(值);
std::cin.get();
std::cin.get();
返回0;
}
无效双代号(int和refvar){
refvar*=2;
std::cout在仔细查看代码后,我回答了自己的问题。啊!一个非常简单的错误是:
std::cout << "\nThe value you entered doubled is: " << refvar << '.\n';
std::cout在仔细阅读代码后,我回答了自己的问题。啊!一个非常简单的错误是:
std::cout << "\nThe value you entered doubled is: " << refvar << '.\n';
std::coutstd::coutstd::cout原始代码输出100
(正确答案),然后立即输出多字符文本值。\n'
,解释为int
:原始代码输出100
(正确答案)紧接着是多字符文字的值。\n'
,它被解释为int
:
std::cout << "\nThe value you entered doubled is: " << refvar << '.\n';
^^^^^
|
multicharacter literal