|
|
1
40
首先,K&R在此特定代码段上有一个勘误表:
现在解释一下。
假设你的程序是命名的
在这里,
在
对于第二个构造,我们实际上希望沿着当前
表达式
指派给
在此循环结束时,argv将指向第一个非选项参数:
这有帮助吗? |
|
|
2
5
增加argv是一个非常糟糕的主意,因为一旦这样做了,就很难恢复原始值。使用整数索引更简单、更清晰、更好——毕竟argv是一个数组! 要回答您的问题,++argv会增加指针。然后对其应用间接寻址以获取第一个字符。 |
|
|
3
5
是的,你是对的。
正在逐个扫描命令行参数的数组(长度为argc),以查找以
正在扫描第一个字符后面的一组开关字符
这种设计允许
和
对工作和被理解为有选择
|
|
|
4
4
括号更改表达式的计算顺序。
不带括号
带圆括号
|
|
|
5
2
是的,这两个表达式有点不同(尽管只有一点点)。在我看来,这段代码有点过于聪明了。你最好这样做:
这几乎相当于上面的代码,但我怀疑任何人(谁知道C)都很难弄清楚它到底做了什么。 |