【发布时间】:2011-07-24 03:27:03
【问题描述】:
我正在尝试扫描单行输入并将其存储在结构中。我不确定是我存储错误还是打印错误。我不确定如何将scanf 与for 循环一起使用,因为我之前从未这样做过,更不用说C 喜欢覆盖东西了。所以我不确定如何处理这个问题。
这是我整理的,但是当我打印时,我得到了垃圾号码。我本来打算使用指针,但我的教授不让我们使用它。这就是我遇到麻烦的原因。
已编辑
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 3
#define MAXTRIP 6
struct stop
{
float cost;
float time;
};
struct trip
{
char Dest_letter;
int stop_num;
struct stop leg[MAX];
};
int main(void)
{
int trip_num, index, i;
struct trip travel[MAXTRIP];
printf("Enter number of trips: ");
scanf("%d", &trip_num);
printf("Please enter destination letter/number of stops and cost/length of each stop:\n");
for (index = 0; index < trip_num; index++)
{
scanf("%c %d", &travel[index].Dest_letter, &travel[index].stop_num);
for ( i=0; i < travel[index].stop_num; i++)
scanf("%f %f", &travel[index].leg[i].cost, &travel[index].leg[i].time);
}
for (index =0; index < trip_num; index++)
{
printf("Trip:%d \nDestination Letter:%c", index+1, travel[index].Dest_letter);
for (i=0; i < travel[index].stop_num; i++)
printf("Cost:%.2f \nLength:%.2f", travel[index].leg[i].cost, travel[index].leg[i].time);
}
}
【问题讨论】: