c - c- 当一个表达式有逗号操作符时,它是如何计算的?
问题描述
我得到b = 40但我不知道如何在这个程序中评估表达式 b 。
#include <stdio.h>
int main()
{
int a = 8, b;
b = (a++, ++a, a<<2);
printf("%d",b);
return 0;
}
解决方案
逗号运算符从左到右计算,表达式的值是最后一个值,在这种情况下是(8+1+1)*4 = 40
.
推荐阅读
- rust - 如何在自定义全局分配器中保持状态?
- python - 使用python查询arcmap图层中的关键字
- spring - 如何在 Spring Data Rest 中为实体保存文件?
- java - 将 c++ 代码转换为 java 代码时出现 java.lang.StringIndexOutOfBoundsException
- java - 从 JSON 读取文件到 POJO 时获取空指针
- javascript - 是否可以基于窗口变量有条件地在 JSP 中加载脚本标签?
- bash - sh 脚本不执行但可执行内容在命令行上正确执行
- arrays - 很难找到解决这个问题的算法:找到不属于的集合
- python - 时间作为 Python 字典中的键
- oracle - 物化视图日志问题