-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。 –