如果我想输入3个数字,我可以编写如下代码:
scanf("%d %d %d", &a, &b, &c);
Run Code Online (Sandbox Code Playgroud)
但是如何从一条线路动态获取输入数量呢?
例如,如果用户输入N(数字),那么我必须从上面的一行获得N个整数输入.
输入和输出应该是:
how many do you want to enter: 5
1 2 3 4 5
sum: 15
Run Code Online (Sandbox Code Playgroud)
由于scanf返回填充的变量数量,您可以循环,直到scanf没有更多的值要读取或计数匹配:
int count = 0;
printf("how many do you want to enter: ");
scanf("%d", &count);
int val = 0;
int sum = 0;
int i = 0;
while(scanf("%d ", &val) == 1 && i++ < count)
sum += val;
Run Code Online (Sandbox Code Playgroud)