简单的数组没有单步执行

时间:2013-07-13 03:01:02

标签: c++ arrays

int i;
int b = 0;
int a[20];


for (i = 0; i < 20; i++){
a[i] = b+1;
cout << a[i];}



 }

//我知道这是一个简单的程序,但它没有给出预期的输出,也没有单步执行程序或打印出结果

3 个答案:

答案 0 :(得分:3)

您的循环一直在分配a[i]而不更改b。由于b保持为零,所有a都将为1(因为b为零,b+11)。< / p>

如果您想分配顺序值,请使用循环索引i,或在循环体中更改b

for (i = 0; i < 20; i++) {
    a[i] = i+1;
}

for (i = 0; i < 20; i++) {
    a[i] = ++b; // Adds 1 to b, and changes b for the next iteration.
}

答案 1 :(得分:0)

您正在打印错误的变量。这应该有效:

int i;
int a[20];


for (i = 0; i < 20; i++){
a[i] = i+1;
cout << a[i];}

答案 2 :(得分:0)

如果您想通过b分配

,可以这样做
int i;
int b = 1;
int a[20];



for (i = 0; i < 20; i++){
a[i] = b;
cout << a[i];
b++;}