if語句中括號的條件可以只有變數嗎

2021-03-05 20:19:41 字數 1961 閱讀 8344

1樓:本末終始

可以.與上面幾位一樣.但要理解其中的原理.

1.if括號中的值按"邏輯值"處理,即只有兩種"真"和"假".

2.通常像"比較運算子"或"邏輯運算子"連線的等式返回的都是邏輯值型別.

3.但編譯器通常將"0值---->邏輯真,其它值--->邏輯假".

4.總之,上面的語句當x=0時條件不成立,其它值時條件成立.

2樓:匿名使用者

可以括號裡面的條件可以是表示式,數值,變數,有返回值的函式非常靈活

只要括號裡面的表示式,數值,變數,有返回值的函式的值非零,條件就成立如果沒定義括號內的變數的話,那該變數的值是隨機的,由當前的記憶體單元決定

編譯器主要是看裡面的值

括號裡不僅僅可以是變數,還可以賦值變數

3樓:匿名使用者

當然可以, 如果這樣寫:

bool x = true;

if(x)

大概還好理解點...

4樓:孟之賢

可以~不過這個變數一定要賦值~

也可以直接是個整形數~比如if(1)

c++裡面又引入了布林型別~也可以這樣寫if(true)

5樓:風靈—羽凌

if 裡面只有0和非0

是0 則判斷條件為假 不執行if裡的語句

不是0 就執行

6樓:耒必

這裡的x可以是任意合法的表示式 x的值若非零則為真。是零則為假

7樓:匿名使用者

可以,表示式,表量,常量都可以

c語言中if語句,如果上面賦值a=0,if(a=0)括號中條件是真還是假

8樓:匿名使用者

你問題中的if(a=0)這個if判斷的表示式是賦值操作,正常執行下一直是為真的

9樓:匿名使用者

c語言使用0代表假,非0代表真

if(a=0);

就相當於

a=0;

if(a);

就相當於

if(0);

括號中的條件是假

10樓:匿名使用者

1、if語句的表示式的值為非零值時,執行if後的語句塊

2、賦值表示式的值是賦值以後的左值的值

11樓:匿名使用者

假 a=0 是賦值表示式,賦值表示式的值取決於賦值號左側變數a的值,a=0 即表示式的值為0

若a=1 則賦值表示式的值為1

12樓:無恨

100%真。以後記住只要if內是賦值語句,那麼if條件表示式為真。

13樓:冽冽不是逗比

永遠都是假的 就等同於 if(0)

我想你想寫的是不是f(a == 0)這樣的判斷

14樓:serenity魚

false;

if(a=0)裡面是賦值運算,因為賦值為0 ,所以為false,如果賦值為2,則是true

為什麼js if語句裡面條件語句用兩個等號而花括號裡面的語句卻用一個等號?為什麼?

15樓:

==是邏輯運算子 用來判斷的 返回true,false if裡面是條件肯定需要== .=是賦值、把右邊的賦值給左邊的。

16樓:匿名使用者

if(條件)

a==b,a===b,這個==活著===是判斷兩個值是否相等a=b,這個=是右邊賦值左邊

語法規定

17樓:匿名使用者

== 是用來判斷兩邊的值是否相等的,

一個 = 是把=號右邊的值賦值給左邊的變數的,比如 var a = 100;

C語言可以再for語句中宣告變數嗎

可以的,在for語句的迴圈體的大括號之內的最前面可以宣告變數,作用域僅在大括號內,出迴圈就被捨棄,是屬於迴圈體的臨時變數。for i 0 i 10 i c語言 可以在for裡面同時定義變數嗎?可以的,比如 include void main 但是注意 在for裡面定義的區域性變數只有在for語句塊裡...

for 語句中的變數的作用域問題

這樣會報錯的,說i沒有定義,因為你i的定義在for迴圈中,所以只能在for中使用i變數,如果想在專整個程式中都使用,請在循屬環外定義。剛才在vc6.0中測試了,確實沒有報錯,但是i變數在出了for後就已經銷燬了,這個是vc6.0的問題,在vc8中會報錯。作用域是在for後面大括號之間。按照c 的標準...

請教一下SQL語句中條件為日期時間型的查詢表示式應該怎麼寫

sql語句中條件為日期時間型別需要用convert轉換成字元後查詢。工具 sqlserver 2008 r2 步驟 1 test表中有如下資料回 2 現在答 要查1979年9月1日出生的人的資訊,可用如下語句 select from test where convert varchar 10 bir...