#arrays #c #input #while-loop
#массивы #c #ввод #цикл while
Вопрос:
void Nhap_mang(int a[], int n){
for(int i = 0;i<n;i ){
int status;char junk;
printf("nEnter a number %d : ",i 1);status = scanf("%d", a[i]);
while(status < 1){
printf("nwrong input, do it again!");
scanf("%c", amp;junk);
printf("nEnter a number: ");
status = scanf("%d", a[i]);
}
}
}
Комментарии:
1.
scanf("%d", a[i])
—>scanf("%d", amp;a[i])
, но есть и другие проблемы.2. Какую ошибку вы получаете? Пожалуйста, подробнее о вашей проблеме.
3. Какую ошибку вы получаете? Какое значение передается a[] и n в Nhap_mang()?
Ответ №1:
Вы должны установить status
переменную в 0 (или <1) на каждой (внешней) итерации цикла. Невыполнение этого требования приведет к получению мусорного status
значения на первой итерации, и, если вам повезет, оно будет < 1, после чего вы будете использовать устаревшее значение на следующей итерации, чтобы оно никогда больше не попадало во внутренний цикл.