Недавно я наткнулся на любопытный случай (по крайней мере, для меня, поскольку я не сталкивался с этим раньше) .. Рассмотрим простой код ниже: -
int x;
scanf("%d",&x);
printf("%d",x);
Приведенный выше код принимает обычный целочисленный ввод и отображает результат, как ожидалось ..
Теперь, если я изменю приведенный выше код на следующий: -
int x;
scanf("%d ",&x);//notice the extra space after %d
printf("%d",x);
Это займет еще один дополнительный ввод, прежде чем он выдаст результат оператора printf .. Я не понять, почему пробел приводит к изменению поведения scanf () .. Кто-нибудь может мне это объяснить ....