-3
我一直在使用已签名的long long,并且有奇怪的问题 - 即不一致的行为。即C++ long long issues
long long i;
printf("%d", i);
这往往会打印出与i的实际值无关的值(这也与cout有关)。
它也有%
随机的行为,即
if(i % x == 0)
//some code
这有时会运行即如果i = 15
和x = 5
它只是不会返回true,因此if语句将不会运行的代码。
由于某种原因,它倾向于在x = 7
上返回true。
我相信这可能是编译器的错,我认为它只是g ++编译器(它在竞争中)。
任何方式来减轻这个或为什么这样做将不胜感激。
'long long i; printf(“%d”,i);'这是**未定义行为**。 – cpplearner
我应该添加%lld吗? – Cjen1
@ Cjen1 _“我认为这可能是编译器的错误......”这是一种非常罕见的情况,大部分时间是您的代码有bug。 –