Las diferencias de scanf ("% [^ \ n]", nombre); y scanf ("% [^ \ n]", nombre);

No es un error tipográfico. Y para el que no se da cuenta, hay un espacio en el segundo, y no hay espacio en el primero.

Me pasa cuando hago una tarea como esta:

#include<stdio.h>

int main(){
int id,d,m,y;
char name[30];
printf("\tSTUDENT ID\t\t: ");scanf("%d",&id);\
printf("\tNAME\t\t: ");scanf("%[^\n]",&name);
printf("\tDATE OF BIRTH\t: ");scanf("%d/%d/%d",&d,&m,&y);
}

cuando hago ese código, la parte "NOMBRE" pasa a ingresar la parte "FECHA DE NACIMIENTO"

Pero, cuando cambio el scanf ("% [^ \ n]", & name); en scanf ("% [^ \ n]", & nombre); Todo funciona bien.

¿Cómo puede pasar esto? No parece entender las diferencias

Nota: puede probarlo y dígame si funciona bien con el suyo, porque tal vez sea solo mi problema de computadora o algo así

Respuestas a la pregunta(2)

Su respuesta a la pregunta