Zachowanie skanera w scanf w C

Próbowałem zrobić kilka rzeczy ze skanerem w scanf, ale gdzieś utknąłem.

kiedy piszę

char s1[250];
scanf("%[A-Z]s",s1);

input : AHJHkiuy
Output: AHJH

iz tym

scanf("%[^\n]s",s1);

input: abcd ABCD hie
output: abcd ABCD hie       /*that is reading white space also (till \n) */

Teraz moje pytanie brzmi, jeśli podam dane jako:

ABCDahaj ahajABCD ajak12347ab

i chcesz, aby dane wyjściowe były następujące:

ABCDahaj ahajABCD ajak

w jaki sposób powinien być zapisany łańcuch formatu? Oznacza to, w jaki sposób należy używać tego zestawu skanów?

questionAnswers(3)

yourAnswerToTheQuestion