我想在数组中存储一些值,并希望当用户输入0时数组停止存储值 所以我有这段代码:
int numbers[100];
int i = 0;
do
{
printf("Enter the %d value : ", (i+1) );
scanf("%d", &numbers[i]);
i++;
}while (numbers[i] != 0);
但是它不起作用,我花了2个小时在此上。 请帮助 谢谢
答案 0 :(得分:2)
扩展@P__J__的答案,这可行:
int numbers[100];
int i = 0;
do
{
printf("Enter the %d value : ", (i+1) );
scanf("%d", &numbers[i]);
}while (numbers[i++] != 0);
存在一些遗漏的分号,但是主要问题是在i
条件下使用while
之前先对其进行递增。 i++
返回i
的原始值,然后将其递增。
答案 1 :(得分:1)
它们工作完美。
但是您要在检查条件之前增加i
。
尝试}while (numbers[i++] != 0);
并删除上一行中的i++
。