-1
int u = 21;
int v = 10;
if (u && v) printf(「 Time to move on!! 」);
if (u & v) printf(「Do it today!! \n」);
這隻打印「時間繼續!!」這是有道理的,因爲u和v在第一個if語句中都是真實的,但對於「if(u & v)」我不確定它是如何確定這是真還是假。我知道它是21和10的兩個二進制表示,但那又如何?謝謝!爲什麼這個按位運算符會導致錯誤?
好吧,並說如果它是23所以10111和10所以01010這將給00010,這會導致1如此真實? – user3373360
這會導致2('00010'在'2'位置有'1')。任何非零都會導致「真」。 – wolfPack88
哦,好的,是的,這是有道理哈哈謝謝 – user3373360