¿Alguien puede explicarme el lenguaje C?
El mecanismo de scanf es que el requisito de formato debe ser coherente con lo que ingresa. Su requisito de formato es nombre=[una cadena][carácter en blanco]num=[entero]
Entonces ingresa nombre = Lili num = 1001, en este momento Lili ingresa el nombre de la matriz y 1001 ingresa la variable entera num.
Lo que se debe tener en cuenta aquí es que los [caracteres de espacio en blanco] no son solo espacios, sino también nuevas líneas\n, tabulaciones\t y otros caracteres que pueden considerarse espacios en blanco en lenguaje C. Puedes probarlo escribiendo nombre=Lili y presionando Enter y num=1001 y presionando Enter, y el resultado será el mismo.
También se menciona que la cadena scanf termina cuando encuentra un carácter en blanco. Por ejemplo, cuando escribe "tengo un sueño", scanf piensa que son cuatro cadenas, ¡no una!