C语言的双引号

时间:2016-09-28 13:37:12

标签: c escaping

每当我们需要使用反斜杠(转义字符)打印双引号时,我们必须在打开引号并关闭它时使用它两次,或者两次都使用它。

就像这样:

printf("  \" \"  ");

或者像这样:

printf("  \"  " ");

哪一个是正确的?

我需要打印(“Whatever!” He said “The Sparrows are flying again.”

4 个答案:

答案 0 :(得分:1)

对于希望出现在字符串中的每个双引号,您需要反斜杠和双引号。

答案 1 :(得分:0)

您可以将您希望忽略的任何引用作为代码转义并用作字符串。 所以在你的情况下,它看起来像:

printThis(“\"Whatever!\” He said \“The Sparrows are flying again.\”");

答案 2 :(得分:0)

反斜杠是允许你使用双引号和其他特殊字符的东西。对于每一个,您应该使用一个反斜杠:

printf("\"") --> "
printf("\'") --> '
printf("\\") --> \

等等

所以printf("\“Whatever!\” He said \“The Sparrows are flying again.\”")会为您提供所需的输出

编辑:正如Chux所提到的,不是常规双引号",在这种情况下,不需要反斜杠,printf("“Whatever!\” He said \“The Sparrows are flying again.”")就足够了。 BUT ,使用反斜杠不会导致不当行为,即使双引号是“智能引号”

答案 3 :(得分:0)

这是C编译器认可的双引号:"。以下都不是:“”。看到区别?

因此,您的代码应该只读:

printf("“Whatever!” He said “The Sparrows are flying again.”\n");

如果您不想使用“智能”引号,则需要更改为常规引号并转义所有

printf("\"Whatever!\" He said \"The Sparrows are flying again.\"\n");