C++逗号运算符和表达式
C++提供了一种特殊的运算符,逗号运算符,可以将两个表达式连接起来。
逗号运算符又称为顺序求值运算符,一般形式为
表达式1,表达式2
逗号表达式求解过程是:先求解表达式1的值,再求解表达式2的值,但是整个表达式的值是表达式2的值。
案例:使用逗号表达式输出变量的值。
#include<iostream>
using namespace std;
int main() //主函数
{
int num_1; //定义整型变量
num_1=3*5,4*5; //不加括号的逗号表达式
cout<<num_1<<endl;
num_1=(3*5,4*5); //加括号的逗号表达式
cout<<num_1<<endl;
return 0;
}
执行本程序之后,则会输出
15
20
为什么上面加括号和不加括号输出的值不一样呢?
不加括号时:赋值运算符的优先级高于逗号运算符,因此会先求解a=3*5,程序是自左向右运行的,后面的4*5也会运行,但是没有存储4*5的结果。
加括号时:由于()的优先级大于=,所以会先执行()里面的程序,3*5也会执行但是没有存储结果,到最后的4*5才会存储结果。
2.4 C++逗号运算符与表达式文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/325638471