C/C++混淆点-逗号运算符
生活随笔
收集整理的這篇文章主要介紹了
C/C++混淆点-逗号运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C++中,逗號是很常用的。作為一個運算符它雖然不常用,但我們也應該學會它的用法。
??????????? 1.如:a=3*4,4*5,5*6;
?????????? 由于“=”的優先級高于“,”,所以程序從左向右運行,即先運行a=3*4。之后的4*5,5*6僅僅運行,但不保存結果。
故結果為a=12。
?????????? 2.如:a=(3*4,4*5,5*6);
由于“()”的優先級大于“=”,所以先從左向右運行“()”中的程序,其中3*4,4*5僅僅運行,但不保存結果。即最后運行a=5*6;
故結果為a=30。
??????????? 3. j = 10;
???????????? i = (j++, j+100, 999+j);
結果為i=1010(10+1,11+999=1010)
????????? 4. j = 10;
???????????? i = (j++, j+=100, 999+j);
結果為i=1110(10+1,11+100,111+999)
int a = 2; int b = 3; int c = 0; //int c=a,b++,a+b; 編譯錯誤 相當于在此初始化b c = a,b++,a+b; //結果是c = 2; 因為等號賦值運算符的優先級高于逗號運算符,先進行賦值運算 cout << a << endl; //2 cout << b << endl; //4 cout << c << endl; //2 c = (a++, b++, a + b); // 結果c = 7;小括號的優先級高,先進行小括號中的運算,c = 小括號中式子的結果 // 小括號中逗號運算,結果是最后式子的結果 cout << a << endl; //3 cout << b << endl; //5 cout << c << endl; //8參考自https://blog.csdn.net/qq_36769966/article/details/81165916
總結
以上是生活随笔為你收集整理的C/C++混淆点-逗号运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv resize
- 下一篇: JavaScript部分问题