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)。
原文:https://www.cnblogs.com/hebust-fengyu/p/12012937.html