-
等號優先於逗號。
因此,上述等式理解為:a = 15;
此時,a 等於 15,15*4 等於 60,但未賦值 a。 因此 a 是 15。
為了改變計算順序,可以改寫為:a = (3*5, a*4),那麼既然a等於0,0*4等於0,然後把值賦給a,所以a是0。
不知道是哪本書說a=3*5,a*4等於60,如果要得到60的值,就得這樣改寫:a=(a=3*5,a*4)。 是你沒有讀完整本書嗎? 如果這本書是這樣寫的,那麼作者的技巧就值得懷疑了。
-
房東您好,書上說(a=3*5,a*4)這個十字架是60;
這裡請大家了解數運算中方程的值,以及元素的值。
這裡 a=3*5 元素的值變為 15,然後 a*4 這裡元素的值仍然是 15 並且沒有改變,因為它沒有被賦值,但這個公式的值是 60
所以它應該像這樣 b=(a=3*5,a*4) 並列印 b,然後結果是 60。
-
我認為這是乙個分號。
嘗試使用分號。
-
a=3*5,a*4;這句話改成 a=3*5,a=a*4; 以上光計算,未賦值。
-
C 中的逗號表示式從左到右依次為:k=3*2=6,k+2=8,表示式返回 8。
逗號表示式用法:
使用順序點時,繫結順序為從左到右,用於順序計算,整個表示式的值為最後乙個表示式的值。
逗號表示式的要點:
1)逗號表示式從左到右逐個計算。
2)逗號表示式作為乙個整體,其值是最後乙個表示式的值(即表示式n)。
3) 逗號運算子在所有運算子中具有最低的優先順序。
例如:int a1, a2, b=2, c=7, d=5; 第 1 行。
a1=(+b,c--,d+3);第 2 行。
a2=++b,c--,d+3;第 3 行。
對於為 a1 賦值的 **,有三個表示式,用逗號分隔,所以最終值應該是最後乙個表示式的值,即 (d+3) 的值,即 8,所以 a1 的值是 8。
對於**給a2賦值,也有三個表示式,本例中的三個表示式分別是a2=++b,c--、d+3,(這是因為賦值運算子的優先順序比逗號運算子高),雖然最終表示式的值也是8,但是b=4(當第二行**完成時, b=3,即當第三行**執行時,b的值為4),所以a2=4。
-
int main()
結果:值 = 8
逗號表示式從左到右計算,但右邊的資料值作為表示式值返回;
1. k = 3*2 // k = 6;
2.(6, k+4) 表示式返回 10,k 仍為 63(10, k+2) k 為 6,表示式返回 8
-
逗號表示式的規則是先數左邊,然後表示式的值是右邊的值,所以先k=3*2=6,k+2=8,所以整個表示式的值是8我建議你看看C語法。
-
在 C C++ 中,逗號表示式會產生逗號前面的部分,逗號後面的部分可以順便理解完成的工作。
在你的**。
y=(x=a+b),(b+c);
在這句話中,操作的順序。
1).x=a+b 給出 x=6
2)b+c3)y=x=a+b=6
所以結果是 y 和 x 都等於 6。
-
逗號運算子按從左到右的組合順序執行,然後取最右邊方程的值作為返回值。 因此,這個表示式的計算過程如下:因為有乙個括號運算子,所以先求值,逗號運算子從左到右求值k=3*2,其中k=6;然後計算k+4,此時k=10,返回; 還有另乙個逗號運算子,它繼續計算右邊的 k+2,因為左邊的方程已經計算完畢,並返回表示式 (k=3*2,k+4),k+2,值為 12。
同樣,由於 k 的末尾為 +2,因此 k 的最終值也是 12
-
逗號表示式按右側順序計算。 首先賦值 k 6,然後賦值 k+4,請注意,此時它只是 k+4,並沒有說 k=k+4,然後在括號外賦值 k+2,因為 k 仍然是 6所以最後,我們得到 6+2,也就是 8
-
逗號運算子,計算後取右邊的值。
k=2*3=6
好吧,錯了。 以下是正確的。
-
第乙個 k = 6,k + 4 只有 10,k + 2 值是 8,因為好表示式的值是最後乙個,所以它是 8
-
1.用法: 1、使用順序點時,組合順序從左到右,用於順序求值,整個表示式的取值為完成後最後乙個表示式的取值。
main()
int a,s,d;
s=2;d=3;
a=12+(s+2,d+4);
計算括號中的值:s+2=4,d+4=7;括號應為(4,7),括號中的值只能為最後乙個,如果沒有括號,則取第乙個; a=12+7=19。
x=(y=3,(z = y+2) +5);
就是先把y賦值給3,把y遞增到4,然後把4加到2,把結果6賦給z,再把z賦給5,最後把x賦給結果值11。
2. 注意:逗號運算子 ( 是 C 語言運算子中優先順序最低的運算子。
2.其他用途:
1. 申請:
int i;int j;
for(i=0,j=0;i<5;i++,j++)
2.分隔符時:int i,j;
-
逗號運算子通常與一組表示式相關聯。
其運算的結果是 6
換句話說,無論逗號演算法對多少個表示式進行操作,它返回的最終結果都必須是最後乙個表示式的結果。
-
首先,重要的是要了解逗號運算是多變數運算,其整個值是最後乙個表示式的值,在這種情況下,該值是從左到右計算的。
在上面的程式中,首先找到x=a+b+z的值,而z的值根本沒有賦值,所以結果不會出現x,y等於4! 也就是說,您的程式有問題。
如果按照上述操作順序改為 y=(z=a+b), (x=a+b+z),則結果為 x=12, y=12;
你可以看看它!
-
逗號表示式有兩個用途。
逗號前後的語句會跑到,例如(u=5,k=0),執行後u的值為5,k的值為0
整個表示式的值=最後一句的值=(k=0)=0,即f的值為0
-
0 逗號運算子的表示式值為最後乙個表示式的值,最後乙個為 k=0;
實際上,它是 0
-
等。。 我弄錯了。 還需要了解 Shenma 是乙個逗號表示式。
我和 uuyyhhjj 和 delta Charlie 說了同樣的話,但我們都弄錯了。 您可以自己執行我們的所有示例,看看是否是這種情況。 我覺得以下幾點應該是我的正確理解。
逗號表示式在所有運算子中具有最低的優先順序,並且低於賦值運算子。 它的作用是計算每個表示式,並使用最後乙個表示式返回的值作為逗號表示式的值。 (不遺餘力)。
就像你說的那個,如果是的話。
x=200,500;
不帶括號),x 等於 200,然後上面整個方程的值為 500。
但是帶括號,(200,500) 是乙個單獨的公式,它的值是 500,所以 x=(200,500) 在賦值 x 的末尾是 500
舉幾個例子,x=(21,22,23,24,25);
在這乙個中,先數括號,計算後丟棄前 21 到 24,括號中的表示式值為 25。 之後,執行賦值操作,x 的值成為括號中表示式的值 25。
如果編譯。 int x;
int a;
x=(21,22,23,24,25);
cout<<"x="<
如果您有任何問題,請隨時提問。
-
它必須是 500,逗號運算子只將最後乙個表示式的值作為整個語句的值。
-
逗號運算子將最後一項的值作為整個逗號表示式的值。
-
inta=3,b=4,c=5;
c=(a+=a-=a),這裡是兩個單獨的句子(b=a,c+2);
a+=a-=a這個從右到左執行。
a-=aa=0a+=a
a=0c=a
c=0,所以c=0
b=ab=0
C+2c 保持不變。
不,有必要將最後乙個括在括號中。
例如,c=((a+=a-=a),(b=a,c+2));
這是採取後者的那個。
-
你的問題似乎寫錯了地方,應該是 a=(
b,c--,d+3),這是“逗號運算子和表示式”的部分,“逗號運算子是從左到右計算的,整個逗號表示式的值是最右邊表示式的值”。
括號內是乙個逗號表示式,a 採用逗號表示式的值。 所以答案是 a=8
很專業,哦,給它領養。
-
由逗號運算子組成的公式也是乙個表示式,其值等於最右邊表示式的值。
-
逗號運算子可以將兩個或多個表示式連線成乙個表示式,稱為逗號表示式。
逗號運算子在所有運算子中具有最低的優先順序,因此 x=(200,500) 首先是 (200,500),200 後跟 500,因此 x=500。
如果表示式是這樣的 x=(3+4,4+7),x 將以 4+7 結束,即 x=11。
-
在型別 C 中,逗號可以用作操作表示式。
例如,x=(x=1,x=x+1,x+2) 從左到右計算,相當於先將 x 賦值為 1,然後計算 x+1=1+1=2,最後計算 2+2=4,返回 4
而你讀的書可能根本沒有涉及太多細節。
當 x=(200,500,600) 時,x 先是 200,然後是 500,最後是 600,因為沒有賦值操作,所以 200 和 500 被覆蓋。
-
作為參考,逗號可以理解為逗號表示一種順序。
比較以下兩個表示式會更清楚:
x = x + 10, x * 3;
x = (x + 10, x * 3);
假設 x 的初始值為 10
對於第乙個表示式,它等效於:
x = x +10;
x = x * 3;
在這種情況下,x 為 (10 + 10) *3 = 60
對於第二個表示式,x + 10, x * 3) 等價於:
x + 10
x * 3 所以它的返回值是 x * 3,即 10 * 3 = 30,所以此時 x 是 30
-
逗號運算子 ( 是 C 運算子中優先順序最低的,用於從左到右的順序計算(最後乙個逗號之後的表示式的值用作整個表示式的值)。
下面是如何使用逗號運算子的示例:
int a=3, b=5, c;c = a>b, a+b;執行後,c的值為0,因為逗號運算子的優先順序低於賦值運算子,所以先將a>b(即0)的結果賦值給c,然後計算結果a+b(結果不儲存),所以c=0c = (a>b, a+b); 執行後,c的值為8,因為括號的優先順序高於賦值運算子,所以先計算括號中的表示式,結果是最後乙個表示式的值,即a+b的值,所以c=8
-
逗號運算子 ( 是 C 運算子中優先順序最低的,用於從左到右的順序計算(最後乙個逗號之後的表示式的值用作整個表示式的值)。
下面是如何使用逗號運算子的示例:
int a=3, b=5, c;
c = a>b, a+b;執行後,c的值為0,因為逗號運算子的優先順序低於賦值運算子,所以先將a>b(即0)的結果賦值給c,然後計算a+b的結果(結果不儲存),所以c=0
c = (a>b, a+b);執行後,c的值為8,因為括號的優先順序高於賦值運算子,所以先計算括號中的表示式,結果是最後乙個表示式的值,即a+b的值,所以c=8
符號是按位運算,即運算,0 & 1 = 0
這樣的問題是將原始 = 0xabc 十六進製轉換為二進位,即 1010、1011、1100 >>>More