Отличия от scanf («% [^ \ n]», название); и scanf («% [^ \ n]», имя);
Это не опечатка. А для того, кто не замечает, на втором есть пробел, а на первом нет.
Это происходит со мной, когда я делаю домашнее задание, как это:
#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);
}
когда я делаю этот код, часть "NAME" переходит к вводу части "DATE OF BIRTH"
Но когда я изменяю scanf ("% [^ \ n]", & name); в scanf ("% [^ \ n]", & name); все отлично работает
Как это могло случиться? Кажется, я не понимаю различий
Примечание. Вы можете попробовать его и скажите мне, работает ли он у вас нормально, потому что, возможно, это просто проблема с моим компьютером или что-то в этом роде.