如何在scanf()中输入空格,即在c?

时间:2015-05-04 18:40:12

标签: c

我想在数组中存储一些数字。虽然提供输入,但我不能使用输入从一个位置移动到下一个位置。我需要使用一个空间。

例如:

input:2 3 4 5

而不是:

input: 2
3
4
5

有人可以告诉我正确的语法吗?

2 个答案:

答案 0 :(得分:0)

您可以继续扫描像

这样的整数
int a[5];
for(i=0;i<5;i++)
{
  if(scanf("%d",&a[i]) != 1)
  break;
}

%d将考虑整数输入,直到遇到换行符或空格。

答案 1 :(得分:0)

你可以这样做

#include <stdio.h>

int main(void){
    int a, b, c, d;
    printf ("Enter 4 integers: ");
    if (4 != scanf("%d%d%d%d", &a, &b, &c, &d))
        printf ("Invalid input\n");
    else
        printf ("You entered %d %d %d %d\n", a, b, c, d);
    return 0;
}

节目输出:

Enter 4 integers: 2 3 4 5
You entered 2 3 4 5

请注意,如果您只输入3个整数,则不会收到错误消息,因为程序仍在等待第四个。如果输入不是整数,则会出现错误。

请注意,您必须使用Enter键终止输入。