我一直在寻找这个,但找不到答案。如果有人知道怎么做,我将不胜感激!
问题:我必须编写一个程序来存储一些数字,但我不知道会有多少数字!我该怎么办?
我想知道我是否可以使用时间来完成任务。我的意思是,如果已经过了5秒并且没有输入数据,那么就开始处理这些数字。它会工作,但我无法编码。有人可以帮忙吗?
答案 0 :(得分:2)
1)第一个解决方案:
您可以要求用户在开头输入所需元素的数量。
2)第二个解决方案:
保持扫描号码,直到您从用户那里获得EOF
。并将输入数存储到链表或动态分配的数组中(使用realloc
调整数组大小)
3)第三种解决方案
保持扫描号码超时。如果在超时期间没有输入,则程序将认为用户已完成输入编号,然后程序停止从stdin读取。输入数字可以存储到链表或动态数组中,如第二解决方案中所示。将select()
与scanf()
一起使用,以便按照此answer