Не могли бы вы объяснить выход этой программы на C?Я предполагаю, что проблема заключается в повреждении стека во время вызова функции printf("%d\n",t);
, потому что я нажимаю float
, но читаю int
.Я не уверен.
#include <stdio.h>
int main()
{
long x;
float t;
scanf("%f",&t);
printf("%d\n",t);
x=30;
printf("%f\n",x);
{
x=9;
printf("%f\n",x);
{
x=10;
printf("%f\n",x);
}
printf("%f\n",x);
}
x==9;
printf("%f\n",x);
}
И вывод
$ ./a.out
20.39
0
20.389999
20.389999
20.389999
20.389999
20.389999
$