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

時間 2021-07-08 21:09:32

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 9 0.1 這其實本來就是個近似的結果 忽略了無窮多位後的一點細微的差別 所以導致 1 0.9 的出現 其實0.9 當取到無窮多位時與1就幾乎沒差別了 是把後面的小數省略了,省略之後就只是近似的等於了,就像1 0.9.一樣,都是近似的等於。而且你保留的位數越多,就說明越精確,值就越接近對吧 你們...