Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阵列及;回路,哨兵赢了';t工作(C程序)_C_Arrays_Constants_Defined - Fatal编程技术网

阵列及;回路,哨兵赢了';t工作(C程序)

阵列及;回路,哨兵赢了';t工作(C程序),c,arrays,constants,defined,C,Arrays,Constants,Defined,我无法使(-999)在此代码中工作。我把它作为if/break语句和while语句使用,但它似乎没有注册它。救命啊 编写一个简单的程序(演示数组的使用),要求用户键入数字和数字 继续键入数字,直到发生以下两种情况之一: 用户输入-999 输入的数字总数达到5 您的程序将根据上述任一条件停止请求新输入。一旦满足上述条件之一,程序将输出所有输入的数字 见下面的代码: #包括 #包括 int main() #定义数量5 { 整数[QUANT],i=0; 而(i

我无法使(-999)在此代码中工作。我把它作为if/break语句和while语句使用,但它似乎没有注册它。救命啊


编写一个简单的程序(演示数组的使用),要求用户键入数字和数字 继续键入数字,直到发生以下两种情况之一:

用户输入-999

输入的数字总数达到5

您的程序将根据上述任一条件停止请求新输入。一旦满足上述条件之一,程序将输出所有输入的数字


见下面的代码:


#包括
#包括
int main()
#定义数量5
{
整数[QUANT],i=0;
而(i
您需要删除
while
循环,并将
break
语句放入
for
循环中

#define QUANT 5
int main()
{
    int number [QUANT], i = 0, j = 0;

    for (i = 0; i < QUANT; i++) {
        scanf("%i", &number[i]);
        if (number[i] == -999)
            break;
    }

    for (j = 0; j < i; j++)
        printf("Element %i: %i \n", j, number[j]);

    return 0;
}
#定义数量5
int main()
{
整数[QUANT],i=0,j=0;
对于(i=0;i
甚至在编写程序时,您可能已经注意到,您包含了两个比较
i
,这有点奇怪。在任何情况下,
break
语句仅在
for
循环完成循环后,从
循环中中断


我还将最后一个循环更改为使用另一个变量
j
,它与上一个循环中设置的
I
进行比较。这会导致程序不输出未初始化的值,如果用户确实键入
-999

,则需要在
循环期间删除
,并将
break
语句放入
for
循环中

#define QUANT 5
int main()
{
    int number [QUANT], i = 0, j = 0;

    for (i = 0; i < QUANT; i++) {
        scanf("%i", &number[i]);
        if (number[i] == -999)
            break;
    }

    for (j = 0; j < i; j++)
        printf("Element %i: %i \n", j, number[j]);

    return 0;
}
#定义数量5
int main()
{
整数[QUANT],i=0,j=0;
对于(i=0;i
甚至在编写程序时,您可能已经注意到,您包含了两个比较
i
,这有点奇怪。在任何情况下,
break
语句仅在
for
循环完成循环后,从
循环中中断


我还将最后一个循环更改为使用另一个变量
j
,它与上一个循环中设置的
I
进行比较。这会导致程序不输出未初始化的值,如果用户确实键入
-999

另一件需要修复的事情:假设用户输入
1,7,-999
,则仍在打印数组中的所有5个值,即使只打印2或3。另一件需要解决的问题是:假设用户输入
1,7,-999
,即使只打印2或3,您仍在打印数组中的所有5个值。