读《The C Programming Language》(5)
来源:互联网 发布:windows辅助升级通道 编辑:程序博客网 时间:2024/04/29 19:10
第三章讲的是流程控制,对于经常使用类C语言的人来说,这章的内容应该是烂熟于胸。其中引起我注意的地方有下面几点:
- 给你一个字符串,让你写一个小程序把它反转,大概很多人在应聘时都遇到过类似的小问题。作者在这里给出了他的实现,这段程序写得干净漂亮,让我忍不住把它贴在这里:
#include <string.h>
/* reverse: reverse string s in place */
void reverse(char s[])
{
int c, i, j;
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
之后,作者为了说明逗号运算符的用法,又给出了一个更简洁的实现:
for (i = 0, j = strlen(s)-1; i < j; i++, j--)
c = s[i], s[i] = s[j], s[j] = c;
用这段实现,整个函数体只有三行,而且逻辑清晰,可读性好。如果应聘时写出这样的代码,相信一定能给面试官留下好的印象。
- continue用在while和for循环中效果有所差别。用在while循环中,控制直接转到下一个迭代的条件判断;而用在for循环中,先要执行自增语句再转到下一次的条件判断。
- 尽管作者建议尽量少使用goto语句,他还是给出了goto语句适用的场合。一个常见的例子是,要跳出嵌套很深的程序结构,如:
for ( ... )
for ( ... ) {
...
if (disaster)
goto error;
}
...
error:
/* clean up the mess */
- 读《The C Programming Language》(5)
- 读《The C Programming Language》(1)
- 读《The C Programming Language》(2)
- 读《The C Programming Language》(3)
- 读《The C Programming Language》(4)
- 读《The C Programming Language》(6)
- 读《The C Programming Language》(7)
- 读《The C Programming Language》(8)
- 读《The C Programming Language》(9)
- 读《The C Programming Language》(10)
- The C programming language
- the c programming language
- The C Programming Language
- C程序设计语言(The C Programming Language)
- 读The C programming language的新发现
- 《The C Programming language》读书笔记5
- The C Programming Language P8.5
- The C Programming Language 练习题2-5
- 巧用缓存提高asp程序的性能
- 偷闲
- 写段代码验证哥德巴赫猜想之二:验证(附:关于下标值应该定义为有符号数)。
- 试用glade,感觉不错
- Linux Command Reference
- 读《The C Programming Language》(5)
- C语言中可变参数的用法(转载)
- volatile的用法
- 声明函数指针并实现回调
- 把文件存入数据库
- 我眼中的指针
- 指针函数和函数指针有什么区别(转载)
- 吃了老边饺子,感觉比大清花好吃,呵呵
- Linux Command Reference - 2