2. 词法"陷阱"
2024-08-30 09:08:58
1. 练习2-1
某些编译器允许嵌套注释。请写一个程序测试,要求:无论是对允许嵌套注释的编译器,还是对不允许嵌套注释的编译器,该程序都能正常通过编译,但是这两者情况下执行的结果却不相同。
#include<cstdio>
#include<cstring>
using namespace std; int main(void){
char c[] = "bufsize /* is 8 bytes" " but len is */ 7 len";
printf("%s", c);
return 0;
} 不允许嵌套(已测试):
bufsize /* is 8 bytes but len is */ 7 len
允许嵌套(根据书中内容解释后得到的):
bufsize 7 len
2. 练习2-3
为什么n-->0的含义是 n-- >0,而不是 n- -> 0
n-->0根据贪心法则在遇到>之时已被解释为n--,故最终被解释为n-- > 0。
3. 练习3-4
a+++++b的含义是什么?
由于后置++运算符优先级高于前置++运算符,所以可以解释为(a++)+++b,由于a++之后的结果不能作为左值使用所以后面的只能与b结合形成:(a++)+(++b)。
最新文章
- Python学习实践------正向最大匹配中文分词
- css一些小的效果
- 【转载】彻底卸载MYSQL的方法
- Hbase之缓存扫描加快读取速度
- [Java Web – 3A] – Spring MVC开发注意事项
- PLSQL_PLSQL Hint用法总结(概念)
- 20145305《Java程序设计》实验三
- BLUR
- 锋利的jQuery读书笔记---jQuery中的事件
- notification.setLatestEventInfo(context, title, message, pendingIntent); undefined
- intellij安装Scala及Python插件
- 09-C语言数组
- stackoverflow,stackexchange,zhihu,ilewen,segmentfault,answerhub,question2answer,,
- nyoj 79 拦截导弹 (动态规划)
- 关于股票最佳买卖时机的lintcode代码
- 逻辑卷管理lvm
- 使用hive客户端java api读写hive集群上的信息
- iOS之 LLDB调试常用命令
- java日志概述和原理
- Hive SemanticException
热门文章
- 如何在一台电脑上同时使用Gitee(码云)和Github?
- Geodesic 什么是“测地线的”?
- C lang:Pointer and multidimensional array
- Oracle 定时备份数据库
- Java8_stream的map和flatmap
- 分组排序函数——row_number()
- PyCharm 快捷键失效解决办法
- div块水平居中,垂直居中
- 集合系列 List(四):LinkedList
- javascript es6 Promise 异步同步的写法(史上最简单的教程了)