我希望创建两个具有不同整数输出的循环。这样我就可以识别出哪一个。我将不得不在主函数中添加更多这样的循环,因此我正在寻找最简单的解决方案。
这是正确的吗?
#include <stdlib.h>
#include <math.h>
#define MAX_CARS 1000
main()
{
double carsTimeheadA[MAX_CARS], carsTimeheadB[MAX_CARS];
int i,z,n;
int j,q,a;
n=100;
a=1000;
for(i=0; i<n; i++)
{
for (j=100; j<a; j++)
carsTimeheadA[i]=0.0;
carsTimeheadB[j]=0.0;
}
}
还是这个?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_CARS 1000
main()
{
double carsTimeheadA[MAX_CARS], carsTimeheadB[MAX_CARS];
int i,z,n;
int j,q,a;
n=100;
a=1000;
for(i=0; i<n; i++)
{
carsTimeheadA[i]=0.0;
}
for (j=100; j<a; j++)
{
carsTimeheadB[j]=0.0;
}
}
答案 0 :(得分:0)
通过查看缩进,您在代码编写和意图之间存在冲突。正确缩进您的循环,如下所示:
for(i=0; i<n; i++)
{
for (j=100; j<a; j++)
carsTimeheadA[i]=0.0;
carsTimeheadB[j]=0.0;
}
这是胡说八道和错误的:您在j
上循环了100次左右,以分配给元素i
。循环之后,j
可能在初始化j
元素时指向数组之外。
您是说以下意思吗?
for(i=0; i<MAX_CARS; i++)
{
carsTimeheadA[i]=0.0;
carsTimeheadB[i]=0.0;
}
答案 1 :(得分:0)
据我了解,您希望carsTimeheadA
的前100个元素具有值1、2、3、4,...,100和carsTimeheadB
的前100个元素具有值101、102、103、104,...,200
在这种情况下,您只需要一个循环,如:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_CARS 1000
int main()
{
double carsTimeheadA[MAX_CARS], carsTimeheadB[MAX_CARS];
int i, n;
n=100;
for(i=0; i<n; i++)
{
carsTimeheadA[i]= 1.0 + i;
carsTimeheadB[i]= 101.0 + i;
}
// ... more code
return 0;
}