- 4
- 0
- 约7.96千字
- 约 4页
- 2017-08-23 发布于浙江
- 举报
解答Cpuzzles
解答C puzzles
2009/11/26:
对42-45进行了解答
2009/09/16:
对第25题补充了参考材料
完成35~41的回答
2009/09/xx:
修改过n次了:-P
1. sizeof的运算结果大多数情况下是无符号整形(具体与编译器有关),无符整形与有符号整型运算时,
要将有符号整形提升为无符号数。所以-1会成为非常大的整数,因而使得for循环没有执行。为了避免这种
问题,可以将TOTAL_ELEMENTS宏修改成如下:
#define TOTAL_ELEMENTS (int)(sizeof(array) / sizeof(array[0]))
或者使用更为彻底一些的办法:
#define sizeof (int)sizeof
2. 减号(-)不能作为函数名;
3. 不管continue是在while、for或do循环中,意思都是忽略剩余代码,重新进行循环条条判定(想一想,
如果continue连循环条件判定都可以省略掉,那岂不成了无限循环)。所以程序的输出是:1
4. 先是很多重复的hello-err,之后是重复出现的hello-out,然后按以上方式轮流重复出现。
原因:标准输出流stdout默认是行缓冲的,也
原创力文档

文档评论(0)