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

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

رفتار ()scanf

+2 امتیاز
296 نمایش

چرا برای خوندن یک عدد از ورودی توسط دستور ()scanf، پشت متغیر & میذارن ولی برای خوندن یک کرکتر این کارو نمیکنن؟ آیا علامت & به معنی اشاره به مکان خاصی از حافظه ست؟
مثلن کد پایینو در نظر بگیرین:


main()
{
int a;
char c; scanf("%d",&a);
scanf("%c"c);
}
یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده جمعه ۱۷ آذر ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده شنبه ۲۴ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

با توجه به اینکه scanf ورودی رو در آدرسی از حافظه میخونه، باید اونو بصورت آدرس یک متغیر در آرگومان تابعش نوشت.
شما باید اینجا یک کاما و & به کدتون اضافه کنید:

scanf("%c",&c);
پاسخ داده شده دوشنبه ۱۴ اسفند ۱۳۹۱ توسط CPP_Crawler4