scanf() no funciona así.
Consume todo lo consumible en función del patrón pasado, y lo que no consume lo deja en el buffer de entrada.
Si la cadena es "15 gatos", scanf("%d",....) lee "15" y deja " gatos" (los espacios no los tiene en cuenta).
Código C:
Ver original#include <stdio.h>
int main() {
int a ;
char b[500] ;
return 0 ;
}