如果我想输入3个数字,我可以编写如下代码:
scanf("%d %d %d", &a, &b, &c);
但是如何从一行动态获取输入数量?
例如,如果用户输入 N (数字),那么我必须从上面的一行获得 N 整数输入。
输入和输出应为:
how many do you want to enter: 5
1 2 3 4 5
sum: 15
答案 0 :(得分:5)
由于Item{
signal qmlSignal(string msg)
MessageDialog {
onYes: parent.qmlSignal("From yes")
onNo: parent.qmlSignal("From no")
}
}
返回填充的变量数量,您可以循环直到scanf
没有更多值要读取或计数匹配:
scanf
答案 1 :(得分:1)
由于您之前不知道输入的大小,因此最好根据用户提供的输入大小创建动态数组。输入数组的大小并创建该大小的数组。然后,您可以轻松地遍历数组并随意执行任何操作。
string m1, m2, m3, m4; // put some nice file paths in here
using (var m4Stream = File.Create(m4)) {
using (var m1Stream = File.OpenRead(m1)) {
m1Stream.CopyTo(m4Stream, 512);
}
using (var m2Stream = File.OpenRead(m2)) {
m2Stream.CopyTo(m4Stream, 512);
}
using (var m3Stream = File.OpenRead(m3)) {
m3Stream.CopyTo(m4Stream, 512);
}
}
答案 2 :(得分:-3)
正如某人已经说过的那样你可以把它作为一个字符串读出来,当你看到一个空格时,它会分开这些值。在c中,如果您有一个数字,例如5是一个字符,您可以通过执行以下操作将其转换为数字:
int foo = '5' - '0' //foo is now 5
对于多个数字,你可以遍历字符串并找到它们的位置并将其乘以10然后将它们全部加起来
编辑:也忘了提,但是你可以使用带有字符*的atoi并将其转换为数字