کسی میتونه به من بگه چه تفاوتی بین دو دستور زیر وجود داره:
scanf("%d ",&a);
و
scanf("%d",&a);
چرا اضافه کردن یک فاصله تو ()scanf باعث میشه منتظر یک ورودی دیگه بمونه؟
برای استفاده از دستورات خروجی و ورودی، وقتی شما رشتهای داخل "" قرار میدین، به این معنیه که دقیقا همون رشته از ورودی باید گرفته باشه، یا اینکه دقیقا همون رشته چاپ بشه، با این تفاوت که گذاشتن هرگونه فضای خالی قبل از اطلاعات ورودی به معنی اینه که از رو فواصل سفید بگذره و ذخیرشون نکنه. ولی اگر بعد از مقدار مورد نظر فاصله سفید گذاشته بشه، این اشکال پیش میاد که تابع scanf نمیدونه اونو باید به معنی انتهای ورودی در نظر بگیره یا فاصلهی سفیدی هست که باید از روش بپره تا مقدار بعدی رو بخونه. بنابراین منتظر وارد کردن یک عدد دیگه میمونه.