【发布时间】:2015-01-05 23:12:20
【问题描述】:
我正在尝试创建一个程序,它将输入输入到一个数组中,然后在输入终止时将它们全部打印出来。我的理解是,当您在循环的 outside 声明一个变量时,它会保留这些值,但我无法解决这个问题。我知道有办法以某种方式做到这一点,但我正在画一个空白。
#include <stdio.h>
int main(){
int i=0;
int n=0;
int size=0;
int numbers[i];
scanf("%d", &numbers[i]);
while ((i = 1 && numbers[i-1] != 42)){
scanf("%d", &numbers[i]);
i++;
size++;
//printf("%d",numbers[i]);
}
printf ("%d", sizeof(numbers));
while ((n = 0 && n < sizeof(numbers))){
printf("%d", numbers[i]);
printf("\n");
++i;
++n;
}
}
【问题讨论】:
-
这有意义吗:
int i=0;, int numbers[i];??? -
while ((i = 1 && numbers[i-1] != 42)){将在迭代之前将i设置为 1。它不允许i增加。使用for循环。 -
另外,当
i为 0 时,int numbers[i]是非法的(即始终在您的代码中)。
标签: c loops while-loop