Ответ 1
Попробуйте следующее:
#include <stdio.h>
int main()
{
printf("Printing quotation mark \" ");
}
В интервью мне было предложено
Распечатайте кавычку с помощью функции
printf()
Я был ошеломлен. Даже в их офисе был компьютер, и они попросили меня попробовать. Я пробовал вот так:
void main()
{
printf("Printing quotation mark " ");
}
но, как я подозревал, он не компилируется. Когда компилятор получает первый "
, он считает, что это конец строки, а это не так. Итак, как я могу это достичь?
Попробуйте следующее:
#include <stdio.h>
int main()
{
printf("Printing quotation mark \" ");
}
Без обратной косой черты специальные символы имеют естественное особое значение. С обратной косой чертой они печатаются по мере их появления.
\ - 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 с префиксом (косой чертой).
Вам нужно избежать кавычек:
printf("\"");
Помимо экранирования символа, вы также можете использовать формат %c
и использовать литерал символа для отметки кавычки.
printf("And I quote, %cThis is a quote.%c\n", '"', '"');
В языке программирования 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
Вам нужно использовать экранирование символов. Это решение этой проблемы с курицей и яйцом: как мне написать ", если мне нужно, чтобы прервать строковый литерал? Итак, создатели C решили использовать специальный символ, который меняет обращение к следующему char:
printf("this is a \"quoted string\"");
Также вы можете использовать '\' для ввода специальных символов, таких как "\n", "\ t", "\ a", для ввода "\": "\\" и т.д.
Это также работает:
printf("%c\n", printf("Here, I print some double quotes: "));
Но если вы планируете использовать его в интервью, убедитесь, что вы можете объяснить, что он делает.
РЕДАКТИРОВАТЬ. Следуя за комментарием Эрика Postpischil, здесь версия, которая не полагается на ASCII:
printf("%c\n", printf("%*s", '"', "Printing quotes: "));
Результат не такой приятный, и он по-прежнему не на 100% переносится (будет разбит на некоторые гипотетические схемы кодирования), но он должен работать на EBCDIC.
#include<stdio.h>
int main(){
char ch='"';
printf("%c",ch);
return 0;
}
Вывод: "
вы должны использовать как: printf ("\" ");