2015-04-09 2 views
0

Почему мне нужно сделать два входа, подтвержденные «Ввод» для первой итерации? Как заставить его работать, как я ожидаю (один вход -> один ввод -> следующая итерация)?Как принять один вход для первой итерации?

int vector[4]; 
for(j=0; j<4; j++) 
{ 
    printf("Another number\n"); 
    printf("%d: ", j+1); 
    scanf("%d\n", (vector+j)); 
} 
+1

Символ новой строки в строке формата инструктирует 'scanf' пропустить любое количество пробельных символов не включая ни одного, ** пока первый непробельный символ ** –

+0

Спасибо вам за это. – krzyhub

ответ

7

Причина заключается в том, что вы поместили \n характер в scanf. Это позволит scanf игнорировать любое число \n (или Введите нажатие кнопки) после ввода. Удалить \n персонаж из scanf.

scanf("%d\n", (vector+j)); 
     // ^^Remove this. 
Смежные вопросы