imprimir - ¿Cómo imprimo el signo de porcentaje(%) en c
printf en c (4)
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo escapar del signo% (porcentaje) en printf de C? 14 respuestas
Soy un principiante en C, y me preguntaba por qué este programa no imprime% sign.
El código es:
#include<stdio.h>
main()
{
printf("%");
getch();
}
Intenta imprimir de esta manera
printf("%%");
Tu problema es que tienes que cambiar:
printf("%");
a
printf("%%");
O podrías usar el código ASCII y escribir:
printf("%c", 37);
:)
Utilice "%%"
. La página de manual describe este requisito:
Se ha escrito
%
A ''%''. No se convierte ningún argumento. La especificación de conversión completa es ''%%
''.
no hay explicación en este tema por qué imprimir un signo de porcentaje debe escribir %%
y no, por ejemplo, el carácter de escape con porcentaje - /%
.
de la lista de preguntas frecuentes comp.lang.c · Pregunta 12.6 :
La razón por la cual es difícil imprimir los signos de% con printf es que% es esencialmente el carácter de escape de printf. Cuando printf ve un%, espera que lo siga un personaje que le diga qué hacer a continuación. La secuencia de dos caracteres %% se define para imprimir un solo%.
Para comprender por qué /% no puede funcionar, recuerde que la barra diagonal inversa es el carácter de escape del compilador y controla cómo el compilador interpreta los caracteres del código fuente en el momento de la compilación. En este caso, sin embargo, queremos controlar cómo printf interpreta su cadena de formato en tiempo de ejecución. En lo que respecta al compilador, la secuencia de escape /% no está definida, y probablemente da como resultado un solo% de caracteres. Sería improbable que tanto el / como el% logren llegar a printf, incluso si printf estuviera preparado para tratar el / especialmente.
así que la razón por la que uno debe escribir printf("%%");
imprimir solo% es lo que se define en la función printf. % es un carácter de escape de printf''s y / of compiler.