程序接受用户输入的数字并输出该数字加倍。我创建了两个函数,一个收集数字(getnumber),另一个收集它(doublenumber)。该计划确实正常运作;但是,输出并不完全准确。
输出仅部分正确。即,用户输入50,值加倍,输出应为100.相反,值输出为100114.只有前几个数字似乎是我想要的。
#include <iostream>
void doublenumber(int&);
void getnumber(int&);
int main() {
int value;
getnumber(value);
doublenumber(value);
std::cin.get();
std::cin.get();
return 0;
}
void doublenumber(int &refvar) {
refvar*= 2;
std::cout << "\nThe value you entered doubled is: " << refvar << '.\n';
}
void getnumber(int &userNum) {
std::cout << "\nEnter a number to double: ";
std::cin >> userNum;
}
答案 0 :(得分:3)
std::cout << "\nThe value you entered doubled is: " << refvar << '.\n';
^^^^^
|
multicharacter literal
它是一个多字符文字,类型为int
。
C ++11§2.13.2字符文字
字符文字是用单引号括起来的一个或多个字符,如
’x’
中,可选地以字母L
开头,如L’x’
中所示。不以L
开头的字符文字是普通字符文字,也称为窄字符文字。包含单个c-char的普通字符文字具有char类型,其值等于执行字符集中c-char的编码的数值。 包含多个c-char的普通字符文字是多字符文字。多字符文字具有类型int
和实现定义的值。
答案 1 :(得分:1)
仔细查看代码后,我已经回答了我自己的问题。啊!一个非常简单的错误:
std::cout << "\nThe value you entered doubled is: " << refvar << '.\n';
“'。\ n'”应该是:“。\ n”;“相反。有人可以告诉我为什么会产生这个输出吗?