I was asked to do a work in C when I'm supposed to read from input until there's a space and then until the user presses enter.
If I do this:

```
scanf("%2000s %2000s", a, b);

```

It will follow the 1st rule but not the 2nd.  

If I write:

```
I am smart
```

What I get is equivalent to:  

a = "I";  

b = "am";  

But It should be:  

a = "I";  

b = "am smart";  

I already tried:

```
scanf("%2000s %2000[^\n]\n", a, b);

```

and

```
scanf("%2000s %2000[^\0]\0", a, b);

```

In the 1st one, it waits for the user to press `Ctrl`+`D` (to send EOF) and that's not what I want.
In the 2nd one, it won't compile. According to the compiler:

> 
> warning: no closing ‘]’ for ‘%[’ format
> 
> 
> 

Any good way to solve this?