在c++中,如果我们输入一个包含前导零的整数,它们是否会出错。
例如:
int a;
cin>>a;我们给出一个输入00或01。
或者在字符串的帮助下输入是一个更好的想法。
发布于 2012-06-27 13:52:20
整数(或浮点数)没有前导零。如果您想保留前导零,那么您必须将输入作为字符串读取,并在需要时将其转换为数字。或者,您可以在打印结果时使用格式添加前导零。
发布于 2012-06-27 15:05:03
如果我们输入一个包含前导零的整数,c++中的
会出现任何错误。
您可能得不到预期的结果,这取决于输入流的格式标志的设置。默认情况下,期望用户输入始终为十进制。前导零不起作用。如果我们通过调用std::cin.unsetf()来关闭它会怎么样
int main () {
int i;
std::cin.unsetf (std::ios::dec);
while (std::cin >> ii) {
std::cout << i << "\n";
}
}如果输入25,则输出为25,但如果输入025,则输出为21。这是因为C++现在将输入上的前导零解释为八进制(如果是前导0x或前导0x,则为十六进制)。
发布于 2012-06-27 14:36:15
前导零将被修剪掉。它不会存储在内存中。
https://stackoverflow.com/questions/11220129
复制相似问题