simples - ¿Cómo puedo imprimir una comilla en C?
como poner comillas en word (9)
Además de escapar del carácter, también puede usar el formato %c
, y usar el literal del carácter para una comilla.
printf("And I quote, %cThis is a quote.%c/n", ''"'', ''"'');
En una entrevista me preguntaron
Imprima una comilla utilizando la
printf()
Yo estaba abrumado. Incluso en su oficina había una computadora y me dijeron que lo probara. Intenté así:
void main()
{
printf("Printing quotation mark " ");
}
Pero como sospechaba no compila. Cuando el compilador obtiene el primer "
piensa que es el final de la cadena, que no lo es. Entonces, ¿cómo puedo lograr esto?
Deberías usar un personaje de escape como este:
printf("/"");
En el lenguaje de programación C, /
se usa para imprimir algunos de los caracteres especiales que tienen un significado especial en C. Esos caracteres especiales se enumeran a continuación
// - Backslash
/' - Single Quotation Mark
/" - Double Quatation Mark
/n - New line
/r - Carriage Return
/t - Horizontal Tab
/b - Backspace
/f - Formfeed
/a - Bell(beep) sound
Este también funciona:
printf("%c/n", printf("Here, I print some double quotes: "));
Pero si planea usarlo en una entrevista, asegúrese de que puede explicar lo que hace.
EDIT : Siguiendo el comentario de Eric Postpischil, aquí hay una versión que no se basa en ASCII:
printf("%c/n", printf("%*s", ''"'', "Printing quotes: "));
La salida no es tan buena, y aún no es 100% portátil (se romperá en algunos esquemas de codificación hipotéticos), pero debería funcionar en EBCDIC.
Prueba esto:
#include <stdio.h>
int main()
{
printf("Printing quotation mark /" ");
}
Sin una barra invertida, los caracteres especiales tienen un significado especial natural. Con una barra invertida se imprimen a medida que aparecen.
/ - 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
La declaración
printf(" /" ");
le imprimirá las comillas. También puede imprimir estos caracteres especiales / a, / b, / f, / n, / r, / t y / v con una (barra) que lo preceda.
Tienes que escapar de la comilla:
printf("/"");
Tienes que usar el escape de los personajes. Es una solución de este problema de la gallina y el huevo: ¿cómo escribo un "si lo necesito para terminar una cadena literal? Entonces, los creadores de C decidieron usar un carácter especial que cambia el tratamiento del siguiente carácter:
printf("this is a /"quoted string/"");
También puede usar ''/' para ingresar símbolos especiales como "/ n", "/ t", "/ a", para ingresar ''/' en sí: "//" y así sucesivamente.
#include<stdio.h>
int main(){
char ch=''"'';
printf("%c",ch);
return 0;
}
Salida: "