Método printf en lenguaje C, orden de cálculo de parámetros

Este artículo se reimprime, si lo ofende, comuníquese con

printf ("", a, b, c, d, e); // Calcula de derecha a izquierda

#include<sdtio.h>

void main()
{
    int a=100;
    printf(" %d %d %d %d \n", a++, a++, a++, a++);
}

¿Qué desea generar, 100, 101, 102, 103? No, es el reverso de 103, 102, 101, 100, printf calcula la salida desde el final hacia el frente.

Hoy vi un programa muy interesante:

Determine la salida del siguiente programa:

 

#include <stdio.h>
#include <stdlib.h>
int main () 
{      int i = 43;        printf ("% d \ n", printf ("% d", printf ("% d", i)));       sistema ("pausa");       return 0;  }




 

   La salida final es 4321

  Solo encontré el caso del valor representado por la variable de salida, y no encontré el caso de un valor directo. Después de la inspección e investigación, se encuentra que el programa primero ejecuta el printf más interno, que es para generar el valor de i en forma de número entero y generar el contenido Es 43, y luego ejecuta printf junto al exterior, es decir, la salida de 43 es el número de bits 2. De la misma manera, se ejecuta el printf más exterior y el número de salida 2 es 1, por lo que el resultado final de la salida del programa es 4321.

Supongo que te gusta

Origin blog.csdn.net/qq_36909245/article/details/106108522
Recomendado
Clasificación