1樓:郜訪彤儀燁
在c語言中這是錯誤的,根本無法通過編譯。
因為在c語言中賦值表示式的值不是左值(anassignment
expression
hasthe
value
ofthe
left
operand
after
theassignment,111)
butis
notan
lvalue.
)因此(a=3*5)不可以被賦值
譚浩強的書是錯誤的
但是在c++中
賦值表示式的值是左值
所以(a=3*5)=4*3可以通過編譯
那些以為在c語言中也可以這樣寫的人,
其實是對c語言和c++語言的根本區別一無所知,誤把編譯c++**當成了編譯c**
這個問題在《品悟c》的第一章第一節「c啊,有多少c++**假汝之名而行」中有詳細的說明和討論
2樓:祈樂荷洛和
回下989627的同學這個**是對的
答案為12!!!
你所說的表示式的值為1是當(a==3.*5)=4.*3時的!!這樣是錯的
3樓:仲乃欣溫驕
a=3*5這個表示式的值為1,a=15,
1=4*3;肯定報錯,常量不能為左值
4樓:杭採蓮箕蘆
(a=3*5,a*4,a+5)
逗號運算子
首先計算a=3*5=15,然後是15*4=60(a的值並不發生變化),最後是15+5=20
相當於(15,60,20)
取最後一個元素的值就為20
a = 3 != 2 和 (a=3)!=2 在c語言中是什麼意思?
5樓:仁昌居士
邏輯非運bai
算符!的優先順序比賦值運算du符=高,所
zhi以a=3!=2等價於a=(dao3!=2),3!=2這個表內達式值容為1(真),所以a=1。
圓括號()的優先順序比邏輯非運算子!高,所以(a=3)!=2則先給a賦值3,再比較a與2,所以等價於a!=2,即3!=2,所以整個表示式為1,但a=3。
6樓:覺悟壯志
先判斷3和2的關係
3!=2為真
所以a=1;
沒有返回值
先把a賦值為3
再判斷a和2的關係
但是a=3
返回值是1
7樓:匿名使用者
!=優先順序copy較=高,所以a=3!bai=2等價於a=(3!=2),3!=2這個表示式值為1(真),所du以a=1
(a=3)!=2則先zhi給a賦值3,再比較daoa與2,所以等價於a!=2即3!=2,所以整個表示式為1,但a=3
c語言 賦值表示式中(a=3*5)=4*3的值為多少?
8樓:匿名使用者
首先將3*5=15賦值給了a,此時a的值為15,而後將a=4*3的值賦給了a所以15被12覆蓋了。因為a是一個變數,所以會隨著賦給它的值的不同而不同。
在c語言中,a=(2*3,3*4,4*5,5*6)是什麼意思?謝謝,急用
9樓:
2*3,3*4,4*5,5*6
這是一個逗號表示式,包含多個表示式,用逗號分開。從左到右,依次計算。最後一個表示式的值作為整個逗號表示式的值。所以a的值是30
10樓:煙火夜空
括號內是個 逗號表示式,最後一個逗號語句(5*6)為整個逗號表示式(即整個括號)的結果,也就是a=30
11樓:匿名使用者
c/c++中都沒有這樣的寫法,是函式呼叫?不是,沒有函式名;是類變數定義?不是,沒有類名。估計lz少寫了什麼了。
在C語言中是什麼意思,C語言中 c 是什麼意思?
勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...
C語言中 是什麼意思,C語言中 和 是什麼意思
藝蝸楓 c語言中 是複合賦值運算子。複合賦值運算子就是在簡單賦值符 之前加上其它運算子構成,例如 即 a 1 等價於a a 1。的意思就是把左邊的第一個符號移到右邊,其實就是b b c的意思。直接把b c的b 移到右邊,將b的值取出再取出c的值,相加然後賦給b,儲存在b開闢的記憶體空間中,類似的還有...
什麼是C語言,C語言是什麼意思?
c語言是高階語言 最基礎的語言之一 學會了c語言其它的語言都好學了 c就是computer c語言就是電腦語言的意思 很基礎的語言,要好好學習啊 c語言是一種結構化程式語言 c語言是什麼意思?c語言是一種計算機程式設計語言。它既有高階語言的特點,又具有組合語言的特點。它可以作為系統設計語言,編寫工作...