這是我想要做的簡化。基本上,x總是等於f1,y = f2等。在x =/= y =/= z的情況下,我的代碼起作用。但是,如果任何兩個(或更多)或x,y和z相等,則此代碼不起作用。if語句滿足的第一個實例?
構造類BASE_CLASS:
Base_Class(double f){
double x=1, y=2, z=3;
if(f == x)
do something
else if(f == y)
do something else
else if(f == z)
do something else
}
我想做
Base_Class f1=1, f2=1, f3=1;
我很困惑,爲什麼這不工作,雖然與上面是否語句。技術上不是所有的if子句都滿足了嗎?編輯:如果x = y(即f1 = f2),那麼我想使用if(f == x)子句爲f1,if(f == y)子句爲f2。如果x = z(即f1 = f3),則對於f1使用if(f == x),對於f3使用if(f == z)。如果x = y = z(f1 = f2 = f3),則對於f1使用if(f == x),對於f2使用if(f == y),並且如果對於f3使用(f == y) 。
您忘記告訴我們您的代碼在平等時應該做什麼,請修改您的問題以反映此問題。 –
一旦if/else鏈中的任何單個if語句塊已滿足,其他語句塊都會被跳過。基本上是第一個'真實'的條件殺死了所有其他部分。 –
您添加的課程並沒有讓它更清晰。 –