1樓:匿名使用者
a是1;在c語言中,除了0其它的值都代表邏輯1,所以if(3&&2)就是if(1&&1)
2樓:home奶茶溫泉
a=1if()裡面的表示式 3&&2為1 就是真 所以執行a=1
3&&2中3和2都是非0的數,所以&&操作就是1.
3樓:匿名使用者
在baic語言中,數值參與到邏輯du
表示式中時,zhi非0為 true,0為 false。
3 && 2,是一個邏輯與dao表示式,兩邊同時為 true 時,內表示式為 true。由於3和
容2都是非0的數,都翻譯為 true,因此 3 && 2 為 true。
因此 a 值為 1。
4樓:興趣缺缺的
13&&2:3和2都不是0,則此條件成立
c語言if語句為什麼這樣寫不對
5樓:匿名使用者
是對的啊
只要a是整型, 這個語句就是正確的。
表示是3的倍數,且模除2 和4都餘1
6樓:匿名使用者
用括號把每個子語句包裹。
7樓:匿名使用者
a是什麼型別的變數?
%符號兩邊必須都是整數
c語言中int a=3,b=2,c=1執行if(a>b>c)a=b;else a=c 後a=1
8樓:匿名使用者
執行的時候bai,應該寫a>b && b>c ,你du這樣寫的結果就是:先執zhi行a>b,結果為真,在c語言裡dao真用1表示,就
版是算式權a>b結果為1,接下來,1>c,結果為假,所以a=c。
比如你寫死迴圈的時候寫while(2>1){}的時候是死迴圈,寫while(1)的時候也是死迴圈,明白了吧。
9樓:匿名使用者
if(a>b>c)a=b;else a=c
a>b>c這個演算法是從左到右的,也就是先算a>b成立,為1,然後再算1>c,此時c=1,所以if條件不成立,執行else語句。也就是a=c=1.即a=1.
10樓:冬日秋巡春逐鹿
int a=2,b=3, x=1;
if(a>2)
if (b>2)
x = 2 ;
else
x = 3;
printf(抄"%d",x);如果是襲這個的bai話,else對的du
是第zhi二dao個if.
11樓:落月
if(a>b&&b>c)
else
a=1;
c語言if(1)&&(2) 怎麼解釋?
12樓:夏天的小紅花
這個bai寫法是錯誤的。在duc語言中整個邏輯表示式應zhi該被完整地寫在一dao個圓括號中。
所以,上回述表示式應答
當寫為:
if(1 && 2)
實際上,如果真就直接這麼寫的話,因為1和2都不為0,都是作為「真」來解讀的,所以,括號內的值就是「真」,條件總是滿足,這一部分就等同於沒寫,即直接執行後面所跟的語句。
如果是兩個不同的邏輯表示式,則表示,如果 條件1 滿足的條件下,條件2也同時滿足,才執行後面的語句。
13樓:匿名使用者
如果(1)成立並且(2)成立則。。。
如果(1)不成立,(2)就不做判斷直接算不成立
14樓:匿名使用者
1和2都表示邏輯真,所以if(1)&&(2)跟if (1)等價,if後面的語句要執行。
設int a=2,x=3;執行以下語句 if(a<5)if(a<4)if(a<1)x=0;else x=1;else x=2; 後x的值是 . a.0 b.1 c.2 d.3
15樓:匿名使用者
if和最近的else匹配,所以上面的**相當於:
if(a<5)
else x=2;
}a < 5正確
a <4正確
a<1 錯誤,所以else x = 1;
所以最後x的值是1選b
在c語言中,if(a==1&&b++=2)是什麼意思?
16樓:
若a=1並且b=2(執行該步操作後,b的值加1為3)。
邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。
符號 功能
&& 邏輯與
|| 邏輯或
! 邏輯非
當表示式進行&&運算時,只要有一個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!
)運算是把相應的變數資料轉換為相應的真/假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。
還有一點很重要,當一個邏輯表示式的後一部分的取值不會影響整個表示式的值時,後一部分就不會進行運算了。例如:
a=2,b=1;
a||b-1;
因為a=2,為真值,所以不管b-1是不是真值,總的表示式一定為真值,這時後面的表示式就不會再計算了。
這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。例如:
--couter;
couter--;
++amount;
amount++;
看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子:
num1=4;
num2=8;
a=++num1;
b=num2++;
a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。
那麼如果出現這樣的情況我們怎麼處理呢?
c=num1+++num2;
到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該儘量避免出現上面複雜的情況。
17樓:匿名使用者
就是如果a的值是一,而b的值是2的話就為真,然後b的值自已加一羅
c語言, int a=1,b=2,c=3,d=4; if((a=2)&&(b=1)) c=2;
18樓:匿名使用者
int a=1,b=2,c=3,d=4;
if((a=2)&&(b=1)) c=2;
a=2表示賦值2給a,同時檢查結果2是不是真, 當然是,所以又檢查b=1,
b=1 同上,結果也是真,所以執行c=2;
if((c==3)||(d==-1)) a=5;
c=2!=3 ,d=4!=-1,所以不執行a=5;
printf("%d,%d,%d,%d\n",a,b,c,d);
正確結果為:2 1 2 4
如果你的答案是5 1 2 -1,則說明你if((c==3)||(d==-1)) a=5;這句寫錯了,
應該是if((c==3)||(d=-1)) a=5; 是d=-1不是d==-1
c=2!=3為假,因為是||或關係,所以會再判斷d=-1,-1非0為真,會執行a=5
這樣結果為
a=5 b=1 c=2 d=-1
19樓:匿名使用者
我執行的結果是2,1,2,4
第一個if中a=2(b=1)是賦值,和a==2(b==1)是不一樣的
20樓:匿名使用者
if((a=2)&&(b=1)) 相當於if(2&&1) ,結果很明顯
21樓:雪月靈妖
1.結果是: 2,1,2,4
不知道你為什麼是5,1,2,-1
2.if((a=2)&&(b=1))
a=2 => 2 真
b=1 => 1 真
c語言中if判斷的條件裡可以加「||」嗎?比如if(a!=1||2||3||0)?如果不行,那怎樣達到相同效果?
22樓:匿名使用者
你這個用法我真沒用過。。。if((a!=0)||(a!=1)||(s!=2)||(a!=3))
23樓:匿名使用者
if(a!=1&&2&&3&&0)
你這個條件相當於(a!=1)&&2&&3&&0也就是 永遠是0了
你應這樣寫: if((a!=1)&&(a!=2)&&(a!=3)&&(a!=0))
24樓:匿名使用者
if(a!=1||2||3||0)完全可以。c標準規定,if(expression)中的表示式可以是任意的。
但是,該表達是看似晦澀,難懂哦。不清楚要表達什麼意思。
25樓:匿名使用者
可以加,最後你加的結果等於0就是假,大於0就是真
c語言中a1為什麼和a1等價,C語言中,a1為什麼和a1等價?
a 1 是陣列的第2個元素 第一個是a 0 所以 a 1 的地址是陣列的首地址 1,陣列的首地址也可以用 a 表示,所以 a 1是 a 1 的存放地址,所以 a 1 a 1 a 1 的值存在a 1這個地址中 a 1 就是取出這個地址中的內容,他們都是同一個東西當然值都一樣 c語言中,a 1和 a 1...
C語言中1f是什麼意思,c語言中 1f是什麼意思
c語言裡面的數字格式,f指float,佔用位元組數4,有效數字6 7,數值範圍 3.4 10 38 3.4 10 38 這個意思是用float的格式表示數字 c語言中 1f意思是 輸出資料是浮點數,佔一位空間,這樣輸出是沒有意義的,嚴重壞疑你寫鍺了,可能是 c語言中 4.1f是什麼意思,當然數字4可...
c語言中設a1b2c3d4執行,C語言中設a 1,b 2,c 3,d 4 執行printf d d d d n ,a b c,c a b,c a b ,b c 的結果是什麼
c語言提供一種特殊的運算子 逗號運算子。用它將兩個表示式連線起來專。如 3 5,6 8稱為逗號表示式,又屬稱為 順序求值運算子 逗號表示式的一般形式為表示式1,表示式2逗號表示式的求解過程是 先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。例如,上面的逗號表示式 3 5,6 8 的...