0
#define LEN 200
int main()
{
int arr[LEN],i;
for (i =0; i < LEN; i++)
while(scanf("%d", arr[LEN]) == 1){
if((arr[LEN] == arr[LEN]+1) || arr[LEN] < 0){
printf("Bad numbers.\n");
}
else if(arr[LEN] == 0){
break;
}
}
printf("Break");
return 0;
}
私のポイントです。しかし、arr[LEN] == 0
の場合は、scanf
を停止し、数値を配列に保存してから他のものを続行する必要があります。いくつかの数字の後、私のコードがクラッシュした。誰かが私を助けることができますか?アレイとしばらくscanfのクラッシュ
答えを入力するテキストボックスの上のアイコンを試してみてください(いつでも変更をキャンセルできます)。彼らはあなたの壁画を少しでも手間をかけずに読みやすく分かりやすくすることができます。 – Anthon
変換が成功した場合、 'scanf("%d "、&arr [i])'からの戻り値は1です。入力にデータがあるが、データが残っていないか、または何らかのエラーがある場合は、10進整数(たとえば、文字)またはEOF(常に負の値、通常は-1)と一致しない場合は0になりますデバイスは読み取られます。 ['scanf()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/scanf.html)関数は決して入力の長さを返しません。複数の変換指定がある場合、成功した変換の数が返されますが、抑止された代入( '%* d'など)と'%n'は数えられません。 –
あなたが項目4を修正するまで、それ以外の良い答えを投票することはできません。 –