为什么当输入的有空格时,就从空格后面的就没法输出了?

system("color 2f");

char a[1000]="abc";
scanf("%s",&a);
printf("%s\n",a);
system("pause");

eg:输入:abcd sdegjrfj
则输出:abcd

  空格后面的为什么没法输出了?
    应该怎么改?请写一下 。谢谢!

http://blog.sina.com.cn/s/blog_5d64f88b01015jmy.html

默认scanf用%s会将空格当成分隔符,所以空格后的内容要下一个scanf才能读取。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int ch[64] = {0};
    scanf("%[^\n]",ch);
    printf("%s\r\n",ch);
    return 0;
}

[^\n]表示当遇到回车的时候结束