如何获取长度未确定的数组的输入

时间:2016-11-29 16:17:37

标签: c arrays

我应该编写一个“快速排序”给定数字数组的程序。问题是,不允许动态内存分配,也没有给出应该作为我程序输入的“数字”的数量。

例如,这是一个输入/输出示例:

INPUT:0 1 5 3 6 2 4

输出:0 1 2 3 4 5 6

但是我在使用scanf()获取数字时似乎无法关闭我的while循环; (我知道,scanf()很傻,但我也不能使用“iostream”)

这是我试图开始工作的代码:

int main()
{
    int target_arr[1000], l, h, i = 0, c = 0, k = 0;
    while (scanf("%d", &target_arr[i]) != EOF)
    {
        i++;
    }
    h = i -1;
    l = 0;
    quick(l, h, target_arr);
    print_arr(target_arr, i );
    return 0;
}

quick()和print_arr()函数是先前定义的,并且在输入正确的情况下工作得非常好。我只是不知道如何在输入完成时停止循环。

非常感谢任何帮助。

0 个答案:

没有答案