1

我需要j用作计数器并在增量的同时增加它i。这段代码只是继续给我随机数j

    int i, j;   // counters
    for (i=0, j=1; i<=LENGTH; i++, j++)
    {
        printf("Player %i "\n", j);
        printf("Name:\t");
        fgets(name[i], MAXLENGTH, stdin);
        ...
4

3 回答 3

4
printf("Player %i "\n", j); 

语句由两个双引号组成。

printf("Player %i \n", j);  

或者

printf("Player %d \n", j);   

试试这个代码:

#define LENGTH 10
#include<stdio.h>
main()
{
    int i, j;//counters
    for (i=0, j=1; i<=LENGTH; i++, j++)
    {
        printf("Player j=%i  i=%d \n", j,i);
    }
}
于 2013-09-02T13:41:35.413 回答
0

关于什么

  int i;//counter
  for (i=0; i<=LENGTH; i++)
  {
      printf("Player %i \n", i + 1);
      printf("Name:\t");
      fgets(name[i], MAXLENGTH, stdin);
  ...
于 2013-09-02T13:38:09.443 回答
0

你不说是什么name,但如果它只是一个字符串,比如:

char name[MAXLENGTH];

然后fgets将写入从第 th 元素name开始的字符串。i您可能会写到name字符串的末尾。如果name在循环之前在本地定义,那么您可以用“随机”数据覆盖两者(即您正在执行ij该站点同名的操作)。

如果是这种情况,那么您应该改为fgets如下调用:

fgets(name, MAXLENGTH, stdin);
于 2013-09-03T17:04:32.083 回答