[問題] scanf 讀值問題 會多跑一次
大家好 請教一下
遇到的問題:
我想要用for迴圈 讓scanf連續讀key in的值
可是會莫名的跳出空白的一行 讓scanf會多讀一次
主要的code
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int A[ 3 ] = { 0 };
int i;
for ( i = 0; i <= 5; i++ ) {
printf( " Enter A[ %d ]: ", i );
scanf( " %d ", &A[ i ] );
}
printf( " \n ");
for ( i = 0; i <= 5; i++ )
printf( " A[ %d ] is : %d\n ", i, A[ i ] );
system("PAUSE");
return 0;
}
程式跑出來的錯誤結果:
Enter A[ 0 ]: 0
1 //這邊會莫名多跳出空白的一行 一定要輸入值 會存到 A[1] 裡
Enter A[ 1 ]: 2 //然後這個 A[ 1 ] 會存到 A[ 2 ] 以下都是這樣
Enter A[ 2 ]: 3
A[ 0 ] is : 0 //輸出值
A[ 1 ] is : 1
A[ 2 ] is : 2
開發平台: Dev-C++, windows
看起來很簡單很正常啊... 測試很多遍都找不到bug
麻煩大家了 謝謝 :)
--
※ 編輯: peder 來自: 118.161.215.232 (01/15 22:22)
→
01/15 22:27, , 1F
01/15 22:27, 1F
→
01/15 22:30, , 2F
01/15 22:30, 2F
→
01/15 22:31, , 3F
01/15 22:31, 3F
→
01/15 22:31, , 4F
01/15 22:31, 4F
→
01/15 22:31, , 5F
01/15 22:31, 5F
→
01/15 22:32, , 6F
01/15 22:32, 6F
→
01/15 22:32, , 7F
01/15 22:32, 7F
推
01/15 22:34, , 8F
01/15 22:34, 8F
→
01/15 22:34, , 9F
01/15 22:34, 9F
→
01/15 22:35, , 10F
01/15 22:35, 10F
→
01/15 22:35, , 11F
01/15 22:35, 11F
→
01/15 22:35, , 12F
01/15 22:35, 12F
→
01/15 22:36, , 13F
01/15 22:36, 13F
→
01/15 22:36, , 14F
01/15 22:36, 14F
推
01/15 22:40, , 15F
01/15 22:40, 15F
→
01/15 22:40, , 16F
01/15 22:40, 16F
→
01/15 22:42, , 17F
01/15 22:42, 17F
→
01/15 22:42, , 18F
01/15 22:42, 18F
推
01/16 02:11, , 19F
01/16 02:11, 19F
→
01/16 02:12, , 20F
01/16 02:12, 20F
→
01/16 02:12, , 21F
01/16 02:12, 21F
→
01/16 02:13, , 22F
01/16 02:13, 22F
→
01/16 04:51, , 23F
01/16 04:51, 23F