اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

فاصله سفید در ()scanf

0 امتیاز
580 نمایش

کسی میتونه به من بگه چه تفاوتی بین دو دستور زیر وجود داره:

scanf("%d ",&a);

و

scanf("%d",&a);

چرا اضافه کردن یک فاصله تو ()scanf باعث میشه منتظر یک ورودی دیگه بمونه؟

برنامه‌ای که تست نشده کار نخواهد کرد (Stroustrup, Bjarne)
پرسیده شده جمعه ۱۷ آذر ۱۳۹۱ در C++ توسط CPP_Crawler3  
بازتگ شده شنبه ۲۴ فروردین ۱۳۹۲ توسط admin

1 پاسخ

0 امتیاز

برای استفاده از دستورات خروجی و ورودی، وقتی شما رشته‌ای داخل "" قرار میدین، به این معنیه که دقیقا همون رشته از ورودی باید گرفته باشه، یا اینکه دقیقا همون رشته چاپ بشه، با این تفاوت که گذاشتن هرگونه فضای خالی قبل از اطلاعات ورودی به معنی اینه که از رو فواصل سفید بگذره و ذخیرشون نکنه.
ولی اگر بعد از مقدار مورد نظر فاصله سفید گذاشته بشه، این اشکال پیش میاد که تابع scanf نمیدونه اونو باید به معنی انتهای ورودی در نظر بگیره یا فاصله‌ی سفیدی هست که باید از روش بپره تا مقدار بعدی رو بخونه. بنابراین منتظر وارد کردن یک عدد دیگه میمونه.

پاسخ داده شده پنجشنبه ۱۲ بهمن ۱۳۹۱ توسط CPP_Crawler4