Подтвердить что ты не робот

Как распечатать кавычку в C?

В интервью мне было предложено

Распечатайте кавычку с помощью функции printf()

Я был ошеломлен. Даже в их офисе был компьютер, и они попросили меня попробовать. Я пробовал вот так:

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

но, как я подозревал, он не компилируется. Когда компилятор получает первый ", он считает, что это конец строки, а это не так. Итак, как я могу это достичь?

4b9b3361

Ответ 1

Попробуйте следующее:

#include <stdio.h>

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

Ответ 2

Без обратной косой черты специальные символы имеют естественное особое значение. С обратной косой чертой они печатаются по мере их появления.

\   -   escape the next character
"   -   start or end of string
’   -   start or end a character constant
%   -   start a format specification
\\  -   print a backslash
\"  -   print a double quote
\’  -   print a single quote
%%  -   print a percent sign

Утверждение

printf("  \"  "); 

распечатает кавычки. Вы также можете распечатать эти специальные символы \a,\b,\f,\n,\r,\t и \ v с префиксом (косой чертой).

Ответ 3

Вам нужно избежать кавычек:

printf("\"");

Ответ 4

Помимо экранирования символа, вы также можете использовать формат %c и использовать литерал символа для отметки кавычки.

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

Ответ 5

В языке программирования 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

Ответ 6

Вам нужно использовать экранирование символов. Это решение этой проблемы с курицей и яйцом: как мне написать ", если мне нужно, чтобы прервать строковый литерал? Итак, создатели C решили использовать специальный символ, который меняет обращение к следующему char:

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

Также вы можете использовать '\' для ввода специальных символов, таких как "\n", "\ t", "\ a", для ввода "\": "\\" и т.д.

Ответ 7

Это также работает:

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

Но если вы планируете использовать его в интервью, убедитесь, что вы можете объяснить, что он делает.

РЕДАКТИРОВАТЬ. Следуя за комментарием Эрика Postpischil, здесь версия, которая не полагается на ASCII:

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

Результат не такой приятный, и он по-прежнему не на 100% переносится (будет разбит на некоторые гипотетические схемы кодирования), но он должен работать на EBCDIC.

Ответ 8

#include<stdio.h>
int main(){
char ch='"';
printf("%c",ch);
return 0;
}

Вывод: "

Ответ 9

вы должны использовать как: printf ("\" ");