c语法在两个不同的行中?

时间:2011-09-23 15:52:07

标签: c coding-style

我有关于c语法的这个简单问题。当我们写:

  printf("hello world
  ");

编译器产生错误。为什么?在另一个案例中:

  for (i = 0; i < MAXLINE - 1      
  && (c=getchar)) != EOF && c != '\n'; ++i)

一切都很好。这一切的一般规则是什么?

谢谢!

2 个答案:

答案 0 :(得分:9)

字符串文字"...")不能包含裸线。

如果你想在字符串中使用换行符,请使用\n转义序列(`“hello world \ n”)

答案 1 :(得分:3)

因为你在第一个例子中打破了一个不允许的字符串文字。在第二个中,您只是将语法包装在多行上。例如:

printf("hello world"
);

将编译。