PDA

View Full Version : مبتدی: این کد تا کی ادامه پیدا میکنه؟



ehsan_faal
یک شنبه 29 تیر 1393, 22:22 عصر
سلام .من تازه دارم کار با توابع رو یاد میگیرم.به فرض اگه همچین کدی بنویسم که مدام تکرار میکنه خودشو،اونوقت خروجی چند سطر واسم کلمه Hello رو چاپ میکنه؟به چی بستگی داره این تعداد سطر ها؟چه جوری(منظورم با کد نویسیه ها)میتونم تعداد سطرها رو قبل اینکه ارور بده بدست بیارم؟
ممنون

#include<iostream>
using namespace std;
void func(void)
{
cout << "Hello\n";
func();
}
int main()
{
func();
system("pause");
}

hadi0x7c7
یک شنبه 29 تیر 1393, 22:45 عصر
این تاوقتی که استک شما جا داشته باشه که Activation Record برای فراخوانی تابع func() رو نگه داره خودش رو صدا میزنه و وقتی که کم آورد stack overflow میده.

ehsan_faal
دوشنبه 30 تیر 1393, 01:20 صبح
این تاوقتی که استک شما جا داشته باشه که Activation Record برای فراخوانی تابع func() رو نگه داره خودش رو صدا میزنه و وقتی که کم آورد stack overflow میده.
من زیاد از این اصطلاحاتی که شما گفتی سر در نمیارم.من میخوام که مثلا چند خط به کد اضافه کنم که بهم بگه مثلا بعد از 100 بار به قول شما stack overflow میده.واسه این کار باید چیکار کنم؟