TÓPICO
Problema na entrada (EOF)
Prof.MozarSilva perguntou 1 year ago
O ultimo elemento da entrada nao tem o pulo de linha.
isso implica que nao se pode testar o FEOF, pq apos ele ler o ultimo inteiro, ja da o FEOF
scanf("%lld",&n);
while ( !feof(stdin) ){
......
scanf("%lld",&n);
}
então precisa alterar para:
while ( scanf("%lld",&n) == 1){
......
}
ou
n=0;
scanf("%lld",&n);
while ( n>0 ){
......
n = 0;
scanf("%lld",&n);
}
o mesmo vale para outras lingugens ex PHP, tive que colocar o teste se a linha veio com conteudo, assim ele ignora o feof, e funcionaria nas duas situacoes, onde a ultima entrada tem o pulo de linha ou nao.
$linha=rtrim(fgets(STDIN),"\n");
while ( !feof(STDIN) || strlen($linha)>0){
...
$linha=rtrim(fgets(STDIN),"\n");
}
?>