我不断地在主题中得到错误,下面是代码。特别是在常量N的类型中;我想把10,100和100数到无穷大。
哪里出了问题,如何最好地修复它?
#include <iostream>
#include <stdio.h>
#define N 100
#define start 1
int main()
{
system("cls");
long int a1,a2;
long int res1,res2;
long int c1,c2;
a1=start;
a2=a1+N;
res1=(a2+2)/5;
res2=(a2+4)/6;
long int i,q,z,g;
int nums[N];
for (i=start; i<(start + N); i++) {
nums["i<start"+1]=10*i+8;
}
for (i=1; i<N; i++) {
for (q=1;q<=res1;q++) {
c2=(a2+q+2)/(10*q-8);
c1=(a1+q+2)/(10*q-8)+1;
for (g=c1;g<c2;g++) {
z=(10*q+8)*g-(q-2);
if ((z-start+1)<N)
nums[z-start+1]=0;
else
break;
}
}
for (q=1;q<=res2;q++) {
c2=(a2+q)/(10*q-6);
c1=(a1+q)/(10*q-6)+1;
for (g=c1;g<=c2;g++) {
z=(10*q-6)*g+q;
if ((z-start+1)<N)
nums["z-start"+1]=0;
else
break;
}
}
}
for (i=1;i<N;i++)
return 0;
}发布于 2016-10-03 04:05:20
好的,编译器已经说出了问题所在。nums["i<start"+1]和nums["z-start"+1]导致了这个错误。不能通过string (也称为const char*)对元素进行索引。只需将其替换为nums[i-start+1] (或您所指的<)和nums[z-start+1]即可。
而且你的代码写得也不是很好。不要使用像N、g或c2这样的短变量名,它只会让人感到困惑(更喜欢长的/逻辑的)。评论你的项目和了解编译器错误也不会有什么坏处。
https://stackoverflow.com/questions/39821021
复制相似问题