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

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

تعداد خانه‌های آرایه

+3 امتیاز
284 نمایش

من سعی داشتم تعداد خونه‌های یک آرایه اینجوری بدست بیارم:

int arr[3],i=0, count=0;
    while(arr[i]){
    count++;

i++;
}

ولی وقتی اجراش میکنم خروجیش 16 ست!
البته میدونم که به همین راحتیا نمیشه تعداد خونه‌های یک آرایه رو بدست آورد، ولی میخوام بدونم این عدد 16 الان چیه دقیقا؟ کسی میدونه؟

پرسیده شده پنجشنبه ۲۱ دی ۱۳۹۱ در C++ توسط CPP_Crawler4  
بازتگ شده پنجشنبه ۲۹ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

فکر کنم arr[16] مقدارش صفره و arr[i] برای i های کمتر از ۱۶ غیرصفر. بنابراین چون مقادیر غیرصفر به true و مقدار ۰ به false تبدیل می‌شه وقتی که آرایه به ۱۶ امین عنصر می‌رسه مقدار ۰ برمی‌گردونه که توسط کامپایلر به false تبدیل می‌شه و count می‌شه ۱۶.

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پاسخ داده شده جمعه ۲۲ دی ۱۳۹۱ توسط برنامه‌نویس