Especificador de formato %G en C
 
En este artículo, aprenderemos sobre el especificador de formato %g utilizando el lenguaje de programación C.
Especificadores de formato en lenguaje de programación C
Los especificadores de formato no son más que un tipo especial de cadena u operador que se puede usar en C. A menudo se usan para recopilar información del usuario y generar información para la consola.
Su objetivo es indicar al compilador el tipo de datos de cualquier información que se ingrese o produzca. Cuando hablamos de tipos de datos, nos referimos a cosas como enteros, cadenas, flotantes, etc.
No hay un solo tipo de datos que no tenga su propio conjunto único de especificadores de formato. El signo % es siempre el primer carácter de un especificador de formato, seguido de una cadena de otros caracteres.
Se utilizan con scanf para entrada y printf para salida en el lenguaje de programación C. Los siguientes son algunos de los especificadores de formato usados en el lenguaje de programación C.
| Especificador de formato | Descripción | 
|---|---|
| %g | Similar a %eo%E | 
| %f | Especificador de formato flotante | 
| %c | Especificador de formato de caracteres | 
| %s | Especificador de formato de cadena | 
| %e | Notación científica de flotadores | 
| %d | Especificador de formato de entero | 
| %x | representación hexadecimal | 
el especificador de formato %g en C
Utiliza el estándar de precisión fija para imprimir números decimales de punto flotante y se utiliza para ese propósito. En el lenguaje de programación C, el especificador de formato %g se utiliza cuando se trabaja con datos de tipo decimal que pueden almacenarse en los tipos de datos doble y flotante de C.
El %g toma un número que podría representarse como %f (un simple flotante o doble) o %e (notación científica), y devolverá el número en el formato más corto de los dos.
En el siguiente ejemplo, tomaremos tres valores del tipo de datos doble, denominados “primer valor, segundo valor” y “tercer valor”, y luego imprimiremos estos valores uno a la vez usando la notación %g y %g. .
Ejemplo de código:
#include <stdio.h>
int main() {
  double firstValue = 123.45;
  printf("Printing 123.45 using %%g %g\n", firstValue);
  printf("Printing 123.45 using %%G %G\n\n", firstValue);
  double secondValue = 123.45e8;
  printf("Printing 123.45e8 using %%g %g\n", secondValue);
  printf("Printing 123.45e8 using %%G %G\n\n", secondValue);
  double thirdValue = 123.45e-8;
  printf("Printing 123.45e-8 using %%g %g\n", thirdValue);
  printf("Printing 123.45e-8 using %%G %G\n", thirdValue);
  return 0;
}
Producción :
Printing 123.45 using %g 123.45
Printing 123.45 using %G 123.45
Printing 123.45e8 using %g 1.2345e+10
Printing 123.45e8 using %G 1.2345E+10
Printing 123.45e-8 using %g 1.2345e-06
Printing 123.45e-8 using %G 1.2345E-06
I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.
LinkedIn