c語言if賦值
1. 當c語言中if語句中的條件表達式為常量或賦值表達式時的意義,分別舉例解釋
//我舉個例子你就明白了
//賦值運算符=運算優先順序是從右到左,然後看下面代碼
inta,b;
b=(a=1);
//編譯器編譯得到如下代碼:
mov DWORDPTR_a$[ebp],1
mov eax,DWORDPTR_a$[ebp]
mov DWORDPTR_b$[ebp],eax
①a=1
②b=a
如此推斷,(a=1)的值即a的值,而a的值為1
所以if(1)不用說了,非零成立.
那麼if(a=1)也不用說了吧?表達式的值是a,而a=1,相當於if(1),非零成立.
2. c語言的If表達式可以有賦值語句嗎
可以,但是無意義,所以還是新手常犯錯誤
3. C語言中if語句,如果上面賦值a=0,if(a=0)括弧中條件是真還是假
你問題中的if(a=0)這個if判斷的表達式是賦值操作,正常運行下一直是為真的
4. C語言第十二題為什麼選C,if裡面賦值語句什麼意思
你這題白送的一樣都能答錯,明顯開始已經給int a b c賦值了給了個if語句如果a=b+c那麼輸出函數printf會輸出一段話Equal!然後/n轉入下一行,如果a=b+c等式不成立也就是5不等於0+0那麼就執行else語句 printf,接著輸出Not equal!英語也就是不等於的意思,那麼由於if語句不符合自然就執行後面的語句
5. C語言 判斷直接賦值問題
首先判斷y是否大於z,若大於,則執行 X+2這個語句,並把X+2的值賦給X
若小於,則先執行X-2,然後將X-2的值賦給X,
然後執行逗號表達式,得到的值為2(最後一個,但對結果沒有影響,由於=的優先順序要大於逗號表達式的優先順序,所以語句會先賦值,然後進行逗號運行)
6. C語言問題:一個if語句後面如何跟兩個賦值語句
if (x1)
{
d1 <=~d1;
sel = 1;
}
用大括弧把想要一起執行的語句框起來就行了,加油
7. C語言,if(表達式)中,表達式如果是一個賦值語句,這個if就會恆真嗎
非零即真,例如
if(a=5)
{
b=3;
c=5;
}
else d=3;
這個語句沒有語法錯誤(可能會有警告),是可以執行的。
但是這個語句永遠沒有機會執行else部分。
a=5賦值表達式的計算結果就是5,當這個表達式出現在if語句邏輯表達式位置上的時候,它的計算結果是被當作邏輯值處理的,在C語言中用整型數表示邏輯量,非零表示「真」,所以這是一個永真式;這個if的邏輯條件永遠不會為假。
也就是說,這里所表達的邏輯條件並不是「a的內容是否等於5」,而是向變數a中送入數據5。
8. C語言if語句
if-else分別搭配一條語句,如果有多條語句就要用花括弧擴起來。
intmain(void){
inta=0;
if(1)
a=3;//這是專一條語句,if為真,執屬行賦值3
if(0)
a=4;//這是一條語句,if為假
else//搭配上方的if
a=5;//這是一條語句,上方if為假,執行賦值5
//所以最終a值為5
}
intmain(void){
inta=0;
if(1){//if為真,整個花括弧里的語句都要執行
a=3;//賦值3
if(0)//執行if,為假
a=4;//這條語句不執行
}
else//上方if為真,不執行else
a=5;
//所以最終a值為3
}
9. c語言初學者。if裡面,賦值給字元串的問題
你這么定義字元數組 的話只有 一個元素 喲
char input1[]="\0";//變數聲明
char input2[]="\0";
字元串比較 請用 strcmp函數 頭文件 string.h
10. c語言中if語句條件為賦值語句
當if語句中的條件為賦值語句時,實際上是將賦值後的結果與0進行比較。比專如下面的代碼:
#include<stdio.h>
intmain()
{
inta;
if(a=0)printf("helloworld ");
return0;
}
它等價屬於:
#include<stdio.h>
intmain()
{
inta=0;
if(a==0)printf("helloworld ");
return0;
}
這個過程可以通過vc6.0的反匯編代碼詳細看到。
一條mov賦值指令,一條cmp比較指令,比較的對象是0和a的值。