我需要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);
...
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);
}
}
关于什么
int i;//counter
for (i=0; i<=LENGTH; i++)
{
printf("Player %i \n", i + 1);
printf("Name:\t");
fgets(name[i], MAXLENGTH, stdin);
...
你不说是什么name,但如果它只是一个字符串,比如:
char name[MAXLENGTH];
然后fgets将写入从第 th 元素name开始的字符串。i您可能会写到name字符串的末尾。如果name在循环之前在本地定义,那么您可以用“随机”数据覆盖两者(即您正在执行i与j该站点同名的操作)。
如果是这种情况,那么您应该改为fgets如下调用:
fgets(name, MAXLENGTH, stdin);