C语言逗号表达式和赋值表达式
C语言逗号表达式和赋值表达式
笔试常考这个,没办法
#include <iostream> using namespace std; int main(int argc, char const* argv[]) { int a = 0, b = 0, c = 0, d = 0; // 1. 逗号表达式 /* 表达式1,表达式2,表达式3……表达式n; 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。 整个逗号表达式的值是表达式n的值。。 */ a = 3 + 4, 4 * 5; // 7 b = (3 + 4, 4 * 5); // 20 cout << a << " " << b << endl; // 2. 赋值表达式 // 就是赋值号最左边的值 d = (c = 3 + 4, c * 5); // c = 7, d = 35 cout << c << " " << d << endl; c = a = b = 11; // c = 11 cout << c << endl; if ((d = []() { return 5; }()) == 5) // 在if语句中利用赋值表达式,在STL中很常见 cout << "d == 5" << endl; return 0; }
本文作者:3的4次方
本文链接:https://www.cnblogs.com/3to4/p/17744344.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步