¿Pregunta operador % en C?

Iniciado por Zodiak98, 23 Abril 2013, 05:01 AM

0 Miembros y 1 Visitante están viendo este tema.

Zodiak98

Osea porque %d ya se que %d es para enteros ya me se esos formatos pero mi pregunta surgio de que vendria siendo en si el % por que % ? es como un identificador o algo asi?

Perdonen por ser tan pregunton es qué me interesa saber los minimos detalles y no hay muchas preguntas así y no encuentro las respuestas x_x

rir3760

Es un marcador.

En la cadena de formato de printf y similares cada '%' indica el inicio de un especificador (secuencia de caracteres indicando el tipo a procesar y algunos detalles mas). Si la intención es simplemente imprimir el carácter '%' se debe escapar utilizando '%%'.

Con las funciones scanf y familia el comportamiento es similar (obviamente con la diferencia de ser funciones de entrada), si se desea leer el carácter '%%' se debe escapar de la forma indicada.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

OmarHack

Si lo ves en C++ de esta forma : "resultado = variable1 % variable2;" es el operador modulus que devuelve a resultado el resto de dividir la variable1 entre la variable2
No es lo que preguntas pero está bien que lo sepas para leer códigos en C++.
Un saludo.
I like to test things.

gorystyle

jejeje es simplemente la forma en que esta hecha el lenguaje sus creadores lo quisieron asi es bueno que tengas en cuenta tmb cuando es operador modulo como te lo explico omar

flony

en c casi nada...pero debe ser en realidad la referencia a un puntero especifico, en la unidad de memoria que guarda un espacio especifico para ese tipo de variable, recuerda que cada tipo de variable tiene una cantidad de bite distintos...
siempre crei que es por eso...si alguno me lo aclara estaría buenisimo
si un problema no tiene solucion entonces no es un problema...es algo inevitable

rir3760

Cita de: flony en 26 Abril 2013, 05:57 AMpero debe ser en realidad la referencia a un puntero especifico, en la unidad de memoria que guarda un espacio especifico para ese tipo de variable, recuerda que cada tipo de variable tiene una cantidad de bite distintos...
Las funciones de entrada y salida con formato (printf, scanf, etc.) son funciones con un numero variable de argumentos (variadic functions) y el numero de estos esta dado por el numero de especificadores como "%d", "%s", etc.

En el caso de las funciones de entrada scanf, fscanf y sscanf todos sus argumentos son punteros pero no estoy seguro si te refieres a eso.

¿Puedes por favor aclarar tu pregunta?

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language