我无法创建一个C程序来一次扫描多个单词。我正在创建一个程序,以阅读运动队的名字和他们的输赢数量和他们的损失类型。总共有22个团队,每个团队名称可以有1到3个单词的名称,我想知道什么是我可以扫描我的数据到不同名称大小的最佳方式。 到目前为止我的代码:
int main(void) {
char name[25];
int win[25], losses[25], lossOT[25], lossSO[25], points[25];
int i, n, j, p, x, min;
setvbuf(stdout, NULL, _IONBF, 0);
printf("Enter team data:\n");
i=0;
while(i<26){
scanf("%s", name);
if(0==strcmp(name,"0"))break; //what it to break not with a space but when a number is read
scanf("%d %d %d %d",win[i], losses[i], lossOT[i], lossSO[i]);
i++;
}
示例输入:
Team: W L LOT LSO
Durham United 5 2 1 0
Kingston Clippers 6 3 3 1
London 9 2 1 4
Ottawa Fury Academy 5 3 1 6
答案 0 :(得分:1)
首先,对于您的数组大小,while(i<26)
为off-by-one,请使用i < 25
保持在范围内。
然后,您可以使用fgets()
将一定数量的数据读入缓冲区,并由换行符分隔,换行符也存储在缓冲区中。