我正在尝试创建一个程序,将用户输入存储在数组中,最多 50 个数字,然后再将数字显示给用户。用户可以通过输入-999取消计数。但是我不想显示 -999,但我似乎无法删除该值而不导致所有数字不发布给用户。我做错了什么?
#define INPUT 50
int main() {
int i;
int userInput[INPUT];
for (i = 0; i < INPUT; i++) {
printf("Enter up to 50 numbers: (-999 to quit): ");
scanf("%i", &userInput[i]);
if (userInput[i] == -999) {
break;
}
}
for (i = 0; i < INPUT && i && userInput[i] !=999; i++) {
printf("%i. %i\n", i + 1, userInput[i]);
if (userInput[i] == -999) {
break;
}
}
system("pause");
最佳答案
您的代码至少存在两个问题。
简化第二个
for
子句:for (i = 0; i < INPUT; i++) {
如果保留简单的
i
条件,第二个循环将永远不会执行。正如 Mike 所说,在显示终止号码 -999 之前
中断
。
关于c - 如何删除数组中的结束用户输入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53494119/