2016-02-29 2 views
-1

Я пытаюсь выяснить, как вернуть значение из элемента в массиве из пользовательского ввода. Поэтому, если пользователь набирает 4, он напечатает значение четвертого элемента в массиве. Вот что у меня есть.Получение значения массива из пользовательского ввода в C

#include<stdio.h> 

int main(){ 
int i; 
int a[5]={3,4,5,6,7} 
scanf("%d",a[i]); 
printf("%d",a[i]); 
} 
+0

просто вычтите свой 'i' с 1. (' i - 1') – JanLeeYu

ответ

2

Вы пытаетесь заполнить массив? То, что вы делали выше, в основном ничего не делает, просто распечатывает, что пользователь вводил. То, что вам нужно сделать, это сохранить пользовательское значение в int, скажем tmp. Когда вы печатаете адрес, убедитесь, что он уменьшен на единицу, так как массивы начинаются с нуля.

#include<stdio.h> 

int main(){ 
int tmp; 
int a[5]={4,5,6,7,10}; 
scanf("%d", &tmp); 
printf("%d", a[tmp-1]); 
return 0; 
} 
+0

Спецификатор формата вызывает неопределенное поведение. Всегда используйте правильный! – Olaf

Смежные вопросы