从n个数字的输入(n的值已知)以空格分隔, 例如(这里n是6): 3 5 8 9 13 2
如果我只想接受第2和第5个号码并忽略其余号码,我该如何使用scanf?
我发现接受数组中的数字并仅使用所需的数字有点多余,所以我正在寻找更聪明的选择。
答案 0 :(得分:2)
试试这个
int num,number1,number2;
for(int i = 0; i < 6; i++)
{
scanf("%d", &num);
if(i == 1)
number1 = num;
if(i == 4)
number2 = num;
}
答案 1 :(得分:2)
scanf("%*d%d%*d%*d%d%*d", &firstNumber, &secondNumber);
试试这个。
%*d
读取值,但以善意的名义忽略它。
答案 2 :(得分:2)
如果已知号码n
是固定号码(总是n = 6)
然后您可以使用以下scanf
int a2, a5;
scanf("%*d %d %*d %*d %d %*d", &a2, &a5 );
答案 3 :(得分:0)
我会使用scanf
读取每个数字。在某些temp
变量中读取不需要的变量,在数组或任何变量中读取其他变量(根据需要)
答案 4 :(得分:0)
scanf("%*d %d %*d %*d %d %*d", &i, &j)
答案 5 :(得分:0)
int v[6];
scanf( "%d %d %d %d %d %d", &v[0], &v[1], &v[2], &v[3], &v[4], &v[5] );
v[1]
和v[4]
包含您示例中的答案。