数组不是通过cout打印出来的

时间:2013-10-26 22:03:51

标签: c++ arrays search

我在尝试打印此代码时遇到了一些麻烦。我有一个函数生成一个范围为1到8的搜索空间。但是当我尝试输出它时,程序退出了我。

#include <iostream>;
using namespace std;

char yOrN;
int answer;
const int LENGTH=4096;
int guess[LENGTH];

void searchspace(int guesses[],int length){
int count = 0;
for(int i=1; i=8;i++){
    for(int j=1; j=8; j++){
        for(int k=1;k=8;k++){
            for(int l=1;l=8;l++){
                guesses[count]=1000*i+100*j+10*k+l;
                count++;
            }
        }
    }
}
}

int main(){
searchspace(guess,LENGTH);
for(int i = 0; i<4096;i++){
    cout<<guess[i]<<endl;
}
 }

3 个答案:

答案 0 :(得分:4)

此循环(及其他)

for(int j=1; j=8; j++)

j=8评估为true时结束。总是如此。

你的意思是:

for(int j=1; j<=8; j++)

答案 1 :(得分:2)

您的for循环都是错误的,例如你需要改变:

for(int i=1; i=8;i++){

for(int i=1; i<=8;i++){

和其他人一样。

答案 2 :(得分:0)

修正了您的代码:

  • for loops
  • yOrn,没有使用答案,因此删除了
  • 删除';'在#include
  • 之后

这里是:

#include <iostream>
using namespace std;

const int LENGTH=4096;
int guess[LENGTH];

void searchspace(int guesses[],int length){
    int count = 0;
    for(int i=1; i<=8;i++){
        for(int j=1; j<=8; j++){
            for(int k=1;k<=8;k++){
                for(int l=1;l<=8;l++){
                    guesses[count]=1000*i+100*j+10*k+l;
                    count++;
                }
            }
        }
    }
}

int main(){
    searchspace(guess,LENGTH);
    for(int i = 0; i<4096;i++){
        cout<<guess[i]<<endl;
    }
}

我编译并运行它 - 完美运行(至少我认为这是你想要做的)。