Du hast das Prinzip von scanf noch nicht verstanden, werte den Rückgabewert von scanf aus, wenn dieser ==1 ist, hast du einen gültigen int-Wert eingegeben und in der gepufferten Standardeingabe stdin liegen noch Zeichen, bei denen scanf aufgehört hat, abzuarbeiten, weil sie nicht als int interpretierbar waren.
while( i<10 )
if( 1!=scanf("%i",Feld+i) || getchar()!='\n' )
{
puts("kein gültiger int-Wert");
break;
}
else
++i;
Es wird also bei jeder ungültigen Eingabe abgebrochen und nicht nur bei 'x', was für deinen Fall auch sinnvoller erscheint.