当我尝试运行下面的C代码时,为什么打印“ $”?

时间:2018-07-14 14:31:06

标签: c

#include <stdio.h>
int main()
{
printf("%c\n","\"\"\"\"\"");

}

这会打印$,但不会打印“”“”“

当我尝试运行上面的C代码时,为什么打印“ $”?

3 个答案:

答案 0 :(得分:1)

您将字符串而不是char传递给printf。尝试'"'

您的代码中发生的事情是将字符串传递给printf,但是printf需要一个字符。 printf现在尝试将此字符串的地址解释为char。通常,这是未定义的行为

答案 1 :(得分:0)

%c是单个字符的格式说明符;可能正在进行一些转换。您需要%s(用于字符串)。

答案 2 :(得分:0)

它实际上会打印一些垃圾,因为您的输入不是单个字符,而是一个字符序列。尝试使用%s代替%c