6.8.3 表达式与空语句

语法

1、expression-statement:

expressionopt    ;

语义

2、在一条表达式语句中的表达式被计算为一个void表达式作为其副作用。[注:诸如赋值语句以及函数调用,它们所具有的副作用。]

3、一条空语句(仅由一个分号组成)不执行任何操作。

4、例1 如果一个函数调用被计算为仅作用于它的副作用的一条表达式语句,那么可以通过将该表达式转换为一条void表达式,显式地将其值丢弃掉,通过如下投射操作:

int p(int);
/* ... */
(void)p();

5、例2 在以下程序片段中

char *s;
/* ... */
while (*s++ != '\0')
;

一条空语句被用于给迭代语句提供一个空循环体。

6、例3 一条空语句也可以用来携带一个标签,仅在一条复合语句的封闭的 } 之前。

while (loop1) {
/* ... */
while (loop2) {
/* ... */
if( want_out)
goto end_loop1;
/* ... */
}
/* ... */
end_loop1: ;
}

进一步可参考迭代语句(6.8.5)。

最新文章

  1. hbase安装
  2. TP第一天路由解析
  3. C++primer 练习12.6
  4. 苹果在Xcode6中弃用segue的push和model
  5. Ghost版Win8.1系统企业版下载
  6. MYSQL 专家 ----zhaiwx_yinfeng
  7. Laravel之路——缓存使用
  8. 尚学堂 JAVA DAY11 概念总结
  9. jvm工具
  10. 关于CTO角色的认知
  11. 设计模式总结篇系列:策略模式(Strategy)
  12. centos查看系统/硬件信息及运维常用命令
  13. virtualbox中 Kali Linux安装增强功能
  14. springbatch入门练习(第二篇)
  15. 20155311《网络对抗》Web安全基础实践
  16. 学习Spring Boot:(十二)Mybatis 中自定义枚举转换器
  17. 获取oracle 随机数
  18. 关于android fragment 某些使用记录
  19. git使用情景2:commit之后,想撤销commit
  20. 1059. C语言竞赛(20)

热门文章

  1. P2680 运输计划[二分+LCA+树上差分]
  2. redis都有哪些数据类型?分别在哪些场景下使用比较合适?
  3. 神经网络(14)--具体实现:put it together
  4. 使用lua脚本在nginx上进行灰度流量转发
  5. Effective C++读书笔记(转)
  6. oracle数据库创建表且主键自增
  7. Python3学习(一)
  8. JS各种案例效果
  9. 014——C#新建文件夹
  10. BurpSuite Intruder模块匹配返回包内容