if判斷不成立,但是還是執行了花括號後面的語句

2021-07-08 21:09:28 字數 2760 閱讀 2974

1樓:金色潛鳥

你的 z.imagpart 如果是 float 或 double 型資料 並含有 截斷誤差,即使是 1e-07 或更小, if 條件就是真。 因為 只有 0 才是假,其它,只要不是0,無論正數還是負數,無論數值多大多小,就是真。

你取2位輸出,顯示 0.00i, 不能說明 它不是邏輯值“真”。

你也許要用 if ( fabs( z.imagpart) < eps)的方法 定義 你的條件, eps 是精度值。

2樓:匿名使用者

if判斷不成立是不會執行後面。你是說哪個if不成立呢?是第一個if(z.imagpart)條件嗎?

是的話,請看下面分析,不是的話,歡迎隨時追問:

不知道你清不清楚在c++中只要非零就是真,即imagpart的值不是零就成立。

不過在輸出結果看出z.imagpart的結果好像就是零,不過實際上它真實值不一定是零,因為你用輸出控制符“%.2f”捨去了兩位後的小數。

所以 我猜,imagpart的值的範圍是0

php if判斷為什麼執行語句不寫花括號?

3樓:匿名使用者

大括號代表**塊,表示這些語句是一個整體,如果if後面有多個語句需要執行就要加上括號,只有一句的話加和不加結果上來說都一樣。

c語言,一個小問題,為什麼在if後面一直都沒有花括號?

4樓:匿名使用者

1、加上大括號相當於一個語句塊,if條件隻影響其後面的第一個語句或語句塊,加括號的話,則執行括號中的全部語句(也就是在if條件成立的情況下,則全部執行,如果if條件不成立,則整個括號中的語句都不執行);而不加括號的話,則影響其後的第一條語句,也就是說不管if條件成不成立,第一句以後的都不會有任何影響。if 語句後有大括號, 則大括號裡面所有的語句都會在if表示式為真時執行;如果沒大括號,則if表示式為真時只會執行第一條語句.

2、例如:

#include

int main()

if (false)

printf("11111111111\n"); // 只有這一條不會列印

printf("22222222222\n"); // 以下兩條都會列印

printf("22222222222\n");

return 0;}

5樓:匿名使用者

如果if後面的語句只有一條的話,可以省去花括號;

如果有多條,則花括號不能省去。

6樓:

if條件成立時執行的語句只有一條的話,可以不加大括號,else也是

7樓:匿名使用者

如果沒有花括號,則是簡單語句,有則是複合語句。

if(x<100) y=-1;

和if(x<100) 是等效的,如果有兩條以上的,則是複合語句,用{},如if(x<100)

如果不用{}, 則x=0;是無條件執行的,這時再else就會錯誤。

8樓:kiss璀璨青春

花括號表示一個**塊

if只能控制一個**塊或一條語句,當只需要控制一條語句時,可以忽略不寫**塊,不過為了可讀性建議if語句不論是否只控制一條語句統一加上花括號

9樓:無語勒

你這樣也不會錯的:

#include

void main()

else

else

}printf("x=%d,y=%d\n",x,y);

}花括號只是為了讓電腦和你看if或else作用的區域方便而已,不加的話電腦也會自動識別。當然最好加一下避免意外。

c語言,if語句後有大括號和沒大括號有什麼區別

10樓:八哥說科技

1、句式不同:

if語句後用括號{}括起來組成的一個語句稱複合語句。 在程式中應把複合語句看成是單條語句,而不是多條語句。如:,大括號中的幾條單語句是一個整體,是一條複合語句。

2、語句邏輯不同:

if語句後有大括號的複合語句執行邏輯是整體執行的,只要if條件成立,括號中的幾條語句都會執行,如果沒有大括號,只會執行緊跟if後的單條語句。

11樓:匿名使用者

if 語句後有大括號, 則大括號裡面所有的語句都會在if表示式為真時執行;如果沒大括號,則if表示式為真時只會執行第一條語句.

例如:#include

int main()

if (false)

printf("11111111111\n"); // 只有這一條不會列印

printf("22222222222\n"); // 以下兩條都會列印

printf("22222222222\n");

return 0;}

12樓:南達中流

if語句中的幾個常見錯誤

13樓:匿名使用者

沒花括號的效果是如果條件成立,就執行if之後的第一條語句,相當於花括號打在if之後的第一條語句

14樓:來自屏巖洞簡簡單單的鳳頭鷹

花括號吧?可以執行花括號裡面的語句,沒有就只執行一條

圖中if語句中,如果else後無花括號,情況會怎樣,執行幾條語句 5

15樓:it圈新鮮事

else後面沒有花括號,else就執行一句

原告起訴同一件案例,被告先前案例不成立

第一審普通程式全過程問答 一 起訴和受理 一 起訴應當具備什麼條件?1 原告是與本案有直接利害關係的公民 法人和其他組織 2 有明確的被告 3 有具體的訴訟請求和事實 理由 4 屬於人民法院受理民事訴訟的範圍和受訴人民法院管轄。二 當事人如何提交起訴狀?起訴狀包括什麼內容?起訴應當向人民法院遞交起訴...

c語言中所有條件都不成立時才執行下一條語句怎麼執行

if 條件1 條件2 條件3 都不成立時的語句 else 有一個成立即執行的語句 int a 1 int b 2 定義a 和 b 兩個copy 整形 變數 if a b 如果 a大於b else 如果a小於b或等於b if 條件1 條件2 條件3 或者if 條件1 條件2 條件3 你能說的具體一點嗎...

我的男友是善良單純並且對我很好,但是他不成熟沒有責任心,這段感情在即將畢業的時候該繼續下去嗎

每一個人的優點都不是全面的 而即然對你好了那說明她還是有責任心的 我不知道你需要哪方面的責任心 這種責任心是可以慢慢隨著生活去滋長的 而且你現在才在學校 他唯一能為你做出證明的責任的只有對你好 你說的這些缺點都是相對的吧?你應該知道你男朋友的優點並不是所以男人都具備的,也許你以後找個更成熟的男人可是...