每日一题(5) —— 逗号表达式
2017-08-04 08:43
169 查看
分析下面的代码,求运算结果。
分析:
仔细观察可以看出,大括号里面的是(),而不是花括号,因此判断这是一个逗号表达式,
逗号表达式的值 = 最后一个值,因此a[3][2] = {1, 3, 5};
a[0]的地址值就是a[0][0]的值:1
逗号表达式的要领:表达式1,表达式2,表达式3,...... ,表达式n
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
#include <stdio.h> int main(void) { int a[3][2] = {(0, 1), (2, 3), (4, 5)}; int *p = a[0]; printf("%d\n", p[0]); return 0; }
分析:
仔细观察可以看出,大括号里面的是(),而不是花括号,因此判断这是一个逗号表达式,
逗号表达式的值 = 最后一个值,因此a[3][2] = {1, 3, 5};
a[0]的地址值就是a[0][0]的值:1
逗号表达式的要领:表达式1,表达式2,表达式3,...... ,表达式n
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
相关文章推荐
- 【C语言】逗号表达式
- 逗号表达式
- [每日一题] OCP1z0-047 :2013-08-25 正则表达式REGEXP_LIKE-----‘harddisks’.................108
- 用正则表达式处理数字每隔三位加逗号逻辑
- 逗号" , "表达式
- C语言的逗号表达式
- 每日一Vim(10)-----正则表达式
- C语言逗号运算符和逗号表达式
- [正则表达式]C# 给数字字符串加上千位逗号
- JavaScript逗号运算符与表达式
- __thread, __typeof__与逗号表达式
- 逗号表达式的取值
- 挑战JavaScript正则表达式每日两题(1)
- 一串字字符中多个逗号替换为一个 既标准分隔符(正则表达式)
- for的死循环(逗号表达式)
- c语言中逗号运算符和逗号表达式
- 改善C++ 程序的150个建议学习之建议6:明晰逗号分隔表达式的奇怪之处
- 【C#】每日知识点-正则表达式
- 每日AC - 后缀表达式计算结果-leetcode-evaluate-reverse-polish-notation
- 整型常量存储方式 逗号表达式