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

2021-07-08 21:09:27 字數 2760 閱讀 9446

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就執行一句

以下哪項最能說明上述推理不成立

a 所有渴望成功的人都必須努力 工作,我不渴望成功,所以我不必努力工作 b 商品都有使用價值,空氣當然有使用價值,所以空氣當然是商品c 不刻苦學習的人都成不了技術骨幹,小張是刻苦學習的人,所以小張能成為技術骨幹 d 臺灣人不是北京人,北京人都說漢語,所以,說漢語的人都不是臺灣人 有些南京人不愛吃辣椒...

電磁場buh在什麼情況下不成立

b 是磁感應強度,單bai 位t 特斯du拉,等於垂直於磁場方向zhi上單位dao長度 單位電流下所受磁內場力的大小 容b f ilh 是磁場強度,單位 a m 兩者皆為向量。按照本構方程有 b h 0 h r m r si 其中 是介質磁導率,0是真空磁導率,m是磁極化強度,是額外磁場大小。電磁學...

a 3 b 3 2ab 2為什麼不成立而a ba

按照畫橫線的算式,中間部分每個單項式的係數也是1,不能是2。你那個等式左右並不相等 不用問什麼,等式右邊利用乘法驗算就是了 化簡 a 3 a 2b ab 2 b 3 a b a 2 b 2 解 由題意知襲a b 0即a b bai a 3 a 2b ab 2 b 3 a b a 2 b 2 dua ...