在最后一个字后打印一个数字

Print one number after the last word

while(!feof(fp)) {
  printf("\n %s %s %s", post.name, post.lastnamn, post.clubb);
  for(i = 1; i <= x; i++;)
  {
    printf(" %d", j.number[i]);
  }
  fread(&post, sizeof(postTyp), 1, fp);
}

我创建了两个 typedef struct,我用 post 和 j.

来引用它们

我创建了一个程序,要求输入用户名、姓氏和俱乐部,并将其存储在文本文件中。我还创建了一个程序,它在数组 number[i] 中创建 x 个数字并将其保存在文本文件中。 x 计算您有多少次 运行 一个程序来创建名字、姓氏和俱乐部。因此,如果您 运行 将创建 3 乘以 3 数字的程序,如下例所示

所以当我打印它时,我得到了这个

Hanna Svensson FCB 1 2 3
Fabian Svensson FCB 1 2 3
Patrik Svensson FCB 1 2 3

我想要的是这样打印出来

Hanna Svensson FCB 1
Fabian Svensson FCB 2 
Patrik Svensson FCB 3

关于如何完成此操作的任何提示?

解决办法是只用外循环不用内循环

i=1;
while(!feof(fp))
{
    printf("\n %s %s %s", post.name, post.lastnamn, post.clubb);
    printf(" %d", j.number[i]);
    i++;
    /* ...*/
}

请注意:您的 while 循环构造非常有问题。