如何在C中打印引号?

时间:2012-08-02 06:40:27

标签: c printf

在接受采访时我被问到了

  

使用printf()功能

打印引号

我不堪重负。即使在他们的办公室里也有一台电脑,他们告诉我试一试。我试过这样:

void main()
{
    printf("Printing quotation mark " ");
}

但是我怀疑它不能编译。当编译器获得第一个"时,它认为它是字符串的结尾,而不是。那我怎么能实现这个呢?

8 个答案:

答案 0 :(得分:25)

试试这个:

#include <stdio.h>

int main()
{
  printf("Printing quotation mark \" ");
}

答案 1 :(得分:14)

你必须逃避引号:

printf("\"");

答案 2 :(得分:8)

除了转义字符外,您还可以使用格式%c,并使用字符文字作为引号。

printf("And I quote, %cThis is a quote.%c\n", '"', '"');

答案 3 :(得分:8)

在C编程语言中,\用于打印一些在C中具有特殊含义的特殊字符。下面列出了这些特殊字符

\\ - Backslash
\' - Single Quotation Mark
\" - Double Quatation Mark
\n - New line
\r - Carriage Return
\t - Horizontal Tab
\b - Backspace
\f - Formfeed
\a - Bell(beep) sound

答案 4 :(得分:4)

您必须使用转义字符。这是鸡和蛋问题的解决方案:我如何编写“,如果我需要它来终止字符串文字?那么,C创建者决定使用一个特殊的字符来改变对下一个字符的处理:

printf("this is a \"quoted string\"");

您还可以使用'\'输入特殊符号,如“\ n”,“\ t”,“\ a”,输入'\'本身:“\\”等等。

答案 5 :(得分:3)

这个也有效:

printf("%c\n", printf("Here, I print some double quotes: "));

但如果你打算在面试中使用它,请确保你能解释它的作用。

编辑:关注Eric Postpischil的评论,这是一个不依赖ASCII的版本:

printf("%c\n", printf("%*s", '"', "Printing quotes: "));

输出不是那么好,它仍然不是100%可移植的(会破坏一些假设的编码方案),但它应该适用于EBCDIC。

答案 6 :(得分:0)

   __weak __typeof(self)weakSelf = self;

 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"alert" message:nil preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *action = [UIAlertAction actionWithTitle:@"action" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        [weakSelf doSomething];
    }];
    [alert addAction:action];
    [self presentViewController:alert animated:YES completion:nil];

输出:“

答案 7 :(得分:0)

你应该使用这样的转义字符:

printf("\"");