Próbowałem wydrukować przy użyciu pacy %d
(wiem, że to nie powinno być zrobione. Ale za każdym razem ponownie uruchomić wykonywalny daje się inną wartość)
Moje pytanie to: Dlaczego drukowana wartość zmienia się za każdym razem? mój system: Ubuntu 14.04 (64 bit) Compiler: 4.8.4 Oto kod:C zmiennoprzecinkowej zmienia wartość% d za każdym razem wykonywany
#include<stdio.h>
int main(){
float b = 12.3456;
printf("%d\n",b);
}
Przykładowe wyjście:
[email protected]:~/C-fi$ ./test
-1629995944
[email protected]:~/C-fi$ ./test
1147348376
[email protected]:~/C-fi$ ./test
-1746005432
[email protected]:~/C-fi$ ./test
510102216
[email protected]:~/C-fi$
Wspaniały przykład * niezdefiniowanego zachowania * - Czego jeszcze potrzebujesz? – tofro
Chcę wiedzieć, dlaczego to się stało? – 4bh1
Ponieważ jest niezdefiniowany? – tofro