#include <stdio.h>
int main(void)
{
double a = 1234.5f;
int b = 71;
int c = 68;
int d;
printf("%d %d %d %d\n", a,b,c,d);
return 0;
}
Выход:нечетное поведение Printf
0 1083394560 71 68
Здесь, почему б дает значение мусора, в то время как с дает значение б, г дает значение с даже не инициализирован?
Обратите внимание на предупреждения компилятора. Несоответствие спецификаторов формата и входных данных вызывает * неопределенное поведение *. – DCoder
** Dcoder **, я видел предупреждения компилятора, я написал код намеренно, я просто хочу знать причину этого bahaviour. – JagsVG