gpt4 book ai didi

c++ - 为什么我不能在 "if"语句中的整数前面放一个零

转载 作者:太空狗 更新时间:2023-10-29 23:27:36 29 4
gpt4 key购买 nike

为什么我的小作弊代码在我把零放在前面时不起作用。当我取出零并放入小作弊代码时,它就可以正常工作。但是,当我输入零并使用作弊码时 - 它会直接跳过。

#include <iostream>
#include <random>

int main() {
bool correct = false;
std::cout << "Put a Number from 1 to 100" << std::endl;
int guess = 0;
std::cin >> guess;
std::random_device rd;
std::mt19937 mt(rd());
std::uniform_int_distribution<int> rnd(0, 101);
int answer = rnd(mt); //random number
while (correct == false)
{
if (guess == answer)
{
std::cout<<"You got it!!!"<<std::endl;
correct = true;
}
else if (guess == 01010101)#<--------------------Problem
#it works when it is 1010101
{
std::cout<< answer<< std::endl;
std::cout << "Put a Number from 1 to 100" << std::endl;
std::cin >> guess;
}
else if (guess > answer)
{
std::cout<<"Your guess is to high guess again"<< std::endl;
std::cout << "Put a Number from 1 to 100" << std::endl;
std::cin >> guess;
}
else if (guess < answer)
{
std::cout<<"Your guess is to low guess again"<< std::endl;
std::cout << "Put a Number from 1 to 100" << std::endl;
std::cin >> guess;
}

else
{
std::cout << "Put a Number from 1 to 100" << std::endl;
std::cin >> guess;
}


}
}

最佳答案

数字文字上的前导零表示该文字用 octal 表示(基数 8)表示法1,它(显然)与解释为十进制(基数 10)的相同数字具有不同的大小。

八进制数 01010101 等于十进制数 266305。


1 除非前导零后跟 x,否则它会被解释为十六进制(以 16 为底)。

关于c++ - 为什么我不能在 "if"语句中的整数前面放一个零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46166289/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com