V čem to kompiluješ, není to náhodou nějaký crippleware od Micro$oftu? Protože mě s GCC v Linuxu vychází tohle:
_1_0_1_
_2_1_20_
_3_2_300_
_4_3_4000_
_5_4_50000_
_4_5_400000_
_3_6_3000000_
_2_7_20000000_
_1_8_100000000_
První číslo je
d před výpočtem, druhé číslo je
j, třetí je
d po výpočtu.
S tím
int r jsem to myslel tak, že není dobré míchat deklaraci proměnných a samotný kód, ono je to sice od C99 povolené, ale nepatří to k
"dobrému programátorskému stylu". Do Céčka to prostě nepatří, je to taková vlezlá plíseň odjinud, správně bys měl mít všechny deklarace pohromadě na začátku bloku. Překladač mi na tom vyhodí výstrahu:
warning: ISO C90 forbids mixed declarations and code
To s tím testem zadání čísla bych řešil trochu jinak:
Kód:
if (scanf("%d",&a))
{
tady se provede celý výpočet...
}
else
printf("Zadaj ciselnu hodnotu\n");
Ušetříš tím jednu zbytečnou proměnnou a navíc se při chybě nebude nic zbytečně počítat. Ale přiznám se že bych celý ten program řešil jinak