K& R C while循环省略括号

时间:2013-12-21 14:18:56

标签: c

根据我的理解,您需要为语言中的任何“标准构造”打开和关闭大括号(例如,for循环/ if语句等等,我不知道真正的单词),它包含多个语句。那么,为什么这个K& R C有效...

while((len = getline(line, MAXLINE)) > 0)
  if(len > max) {
    max = len;
    copy(longest, line);
  }

while循环上没有大括号,但是它确实包含多个语句(当if为true时)。这是K& R的C编程语言第2版中的例1.9。

2 个答案:

答案 0 :(得分:4)

因为if被读作while的单个语句正文。这完全有效。

答案 1 :(得分:4)

在你的情况下,你的while循环中只有一个语句是if条件。在这种情况下,此代码是正确的。