¿Alguien puede decirme por qué esto está sucediendo en lenguaje c?

#include  //Compiler version gcc 6.3.0 int main(void) { float a=10; printf("%f"+1,a); return 0; } 

Salida – d

  #include  //Compiler version gcc 6.3.0 int main(void) { float a=10; printf("%f"+36,a); return 0; } 

Salida – p

Cada vez que cambio el valor de +1 da diferentes salidas … Explícame por qué

No estoy seguro de qué es exactamente lo que estás tratando de lograr.

Si quieres hacer la sum, solo tienes que hacerlo después de la coma:

de esto:

 printf("%f"+36,a); 

a esto:

 printf("%f",a+36); 

Lo mismo para la otra sum.

Definitivamente debes comstackr con todas las advertencias. Utilicé gcc -Wall -Wextra -Werror -pedantic . No se compiló con mis advertencias porque hay demasiados argumentos para printf.

Cuando probé el código que publicaste, imprimió ‘f’ y ‘A ???’. No estoy seguro de lo que estás tratando de hacer, pero creo que tiene que ver con la forma en que tu flotador agrega el número para darte un carácter Ascii.