#include <stdio.h>
int main()
{
printf("%c\n","\"\"\"\"\"");
}
这会打印$,但不会打印“”“”“
当我尝试运行上面的C代码时,为什么打印“ $”?
答案 0 :(得分:1)
您将字符串而不是char传递给printf
。尝试'"'
您的代码中发生的事情是将字符串传递给printf
,但是printf
需要一个字符。 printf
现在尝试将此字符串的地址解释为char。通常,这是未定义的行为。
答案 1 :(得分:0)
%c
是单个字符的格式说明符;可能正在进行一些转换。您需要%s
(用于字符串)。
答案 2 :(得分:0)
它实际上会打印一些垃圾,因为您的输入不是单个字符,而是一个字符序列。尝试使用%s代替%c