Zdravim Vás. Mám menší komplikaci. Načítám hodnoty do pole a potřebuji ošetřit vstup. V případě, že bude zadané něco jiného než číslo nebo v případě, že nezadám žádnou hodnotu a rovnou program ukončím ctrl-d - tak se program ukončí a vypíše chybu. Mě to funguje celkem správně, až na to, že mi to nenačte poslední hodnotu pole.
int i = 0;
int pole[100];
while (!feof(stdin)) {
if ((scanf("%d\n", &pole[i])) != 1) {
printf("Chyba\n");
exit(1);
}
i++;
}
Zvláštní je, že když mam scanf("%d%d ....) bez \n, tak to funguje správně a poslední hodnotu to načte.
if (((scanf("%d", &pole[i])) != 1) && !(feof(stdin)))
Ovšem tato varianta mi nevyhovuje, protože v případě že nezadám žádnou hodnotu a rovnou ukončím program ctrl-d tak mi to chybu nevypíše.
Věděl by jste někdo prosím, co dělám špatně? Děkuji.