2011-01-31 3 views
0

Я пытаюсь написать код, который принимает несколько значений, используя scanf(). В зависимости от того, какой был предыдущий вход. Как, напримерКак взять несколько входов scanf из предыдущей переменной

printf("enter how many trips you are taking:"); 
scanf("%f", &trip) 

printf("please enter the cost of each trip:"); 

^- им удается выяснить, как сканировать в нескольких входных значений без ограничения количества введенного значения стоимости

ответ

0

Очевидный ответ будет считывать значения в цикле :

float *trip_costs; 
trip_costs = malloc(trip * sizeof(*trip_costs)); 

for (i=0; i<trip; i++) 
    scanf("%f", trip_costs + i); 

также отметим, что так как вы используете его для подсчета, trip, вероятно, будет лучше как целого типа.

+0

Единственная проблема заключается в том, что мой профессор требует от нас ввода этого ввода с использованием только minmume для while и if циклов, не используя ничего другого. – Thao

+1

@Thao: один цикл довольно минимален. Если вы действительно хотите сделать это без (явного) цикла, Fortran предоставляет это, но C действительно нет. –

0

Я не думаю, что один звонок scanf() будет (как я предполагаю, вы надеялись, что это будет). Строка формата является конструктивной, но фактический вызов функции не является, в том смысле, что вы не сможете иметь число аргументов указателя назначения условно, определенное во время выполнения. Вы должны использовать ответ петли a la Jerry Coffin.

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