int n=10, a[n++], b[++n];这样的声明序列会不会引起未定义行为呢
这个问题有意思,由于我一直乖乖的遵循每行只定义一个变量的原则,所以都没考虑过这个问题。于是翻了一下手上的一个标准pdf(版本不详,看起来好像是2011的= =),我认为题主的说法是对的,每个,之间都有一个序列点。我的做法是先设定一个简单的语句: int a, b;然后按照标准中的BNF人肉进行Parse:得到 (declaration (declaration-specifiers (type-specifier \u0026#39;int) ) (init-declarator-list (init-declarator (declarator (identifier \u0026#39;a))) \u0026#39;, (init-declarator (declarator (identifier \u0026#39;b)))) \u0026#39;;)再按照标准所说A full declarator is a declarator that is not part of another declarator.很显然这里的a b各自都是一个full declarator,那么它们后面都有一个序列点
■网友
我印象中好像不能用变量申明数组啊 必须是const才行
推荐阅读
- 在dribble和Pinterest等设计师网站上有哪些不得不关注的设计大神
- Numpy中的『using a non-integer number…』警告该怎样处理
- strawberryperl,执行print命令时,显示“无法初始化设备PRN\"是咋回事呢
- 花瓣网和 Pinterest 在使用上有啥不同,Pinterest 采集工具咋添加到浏览器上
- 为啥C语言没有直接支持二进制数
- 玩游戏是amd的显卡好还是intel的显卡好
- Intel 寄存器命名规则是啥
- 二叉树代码bug
- css的animation,jquery的animation()和setInterval制作动画区别
- java中int转换为byte越界后的原理是怎么样的
