【发布时间】:2013-09-14 03:43:42
【问题描述】:
#include <stdio.h>
int main()
{
printf("Hello\c!\n");
return 0;
}
输出:Helloc!
所以,当\[some_undifined_symbol] 出现在printf 的格式字符串中时,它只是忽略了\?
【问题讨论】:
-
这是一个词法错误,它的处理取决于编译器。
-
@MarcinŁoś 表示这是一种未定义的行为?
-
gcc 说 警告:未知转义序列:'\c'
-
这与
printf()无关,它使用%作为其格式说明符。 -
@unwind 同意。
const char *s = "Hello\c!\n"也会出现同样的问题