数组下标赋值问题。
#include <iostream>
using namespace std;
const int MAX=20;
int main()
{
int i=0;
int a[22];
a[i++] =1; //先a[i] i再加加
cout<<a[0]<<endl;
cout<<a[1]<<endl;
cout<<i<<endl;
return 0;
}
结果:
1
0
1
#include <iostream>
using namespace std;
const int MAX=20;
int main()
{
int i=0;
int a[22];
a[++i] =1; //先i加加再a[i]
cout<<a[0]<<endl;
cout<<a[1]<<endl;
cout<<i<<endl;
return 0;
}
结果:
0
1
1
附加一个算法:
#include <iostream>
using namespace std;
const int MAX=20;
int p(int k,int a []){
int m,i,c=0;
for(m=2;m<=k;m++){
for(i=2;i<= m;i++)if (!(m%i)) break;
if(i==m)
a[c++]=m;
}
return c;
}
int main()
{
int i,m,s[MAX];
m=p(13,s);
for(i=0;i<m;i++) cout <<s[i];
cout <<m;
return 0;
}
结果;
235711136
最后的m是6;数值大小是6, for(i=0;i<m;i++) cout <<s[i];,就能全部输出;