【发布时间】:2015-01-14 17:11:21
【问题描述】:
我对数组的最大大小(N)有限制,我想要求用户输入一个可以小于或等于N的数字数组。我如何找到用户有多少个值输入了吗?
这是我拥有的,但它不起作用。
(基本上,我是在告诉程序一旦用户按 Enter 键就停止计数“n”)(当然我初始化了 n=0)
for(i=0;i<(N-1);i++)
{
scanf("%d",&a[i]);
n++;
if(a[i]=='/n'){break;}
}
感谢任何帮助!谢谢!
【问题讨论】:
-
循环结束后
i的值将保持the number of values inputed - 1所以你需要的是i+1的值,一旦循环结束 -
另外,说 它不起作用 并没有多大意义。 究竟是什么不起作用?正在发生的事情与您想要发生的事情?
-
首先,对不起,我犯了一个错误,我写了 0 而不是 '/n'.. 代码本身可以工作,但是当我输入 5 个数字时,程序仍在等待让我输入更多并且不会结束程序。无论我输入多少个数字,我都希望它停止程序(只要它小于 N)
-
您正在读取一个整数,然后检查用户是否输入了“10”(换行符的 ASCII 值),而不是他们是否实际按下了回车键......或者如果你使用过
'\n'而不是'/n'。可能不是你想要的。 -
如果我理解你的问题,你想用在一行中输入的整数填充你的数组,即直到一个换行符被 enountered 是这样吗?