جواب درست همان گزینه ای است که کمتر رای گرفته یعنی INT حالا بریم سراغ توضیحات.
بین گزینه 2 و 4 باید انتخاب می کردید که هر دو گزینه درست هستند اما حالت VOID در همه کامپایلر ها یکسان نیست و رفتار متفاوتی خواهد داشت.
نکته سئوال : در بعضی از کامپایلر ها مقدار VOID نیز به صورت Implicit Function Declaration خواهد بود اما در واقع INT در نظر گرفته می شود و در بعضی کامپایلر ها با خطا روبرو خواهید شد و باید حتما Prototype فانکشن را تعریف کنید.
در کد زیر :
مفهوم Implicit Function Declaration زمانی به وجود می آید که شما Prototype فانکشن با مقدار بازگشتی INT را برای کامپایلر مشخص نکرده باشید. در این حالت کامپایلر خطایی ندارد اما به شما هشدار خواهد داد.
تفاوت کد زیر را می توانید در Visual Studio Code و Microsoft Visual Studio بررسی کنید. اگر مقدار بازگشتی SampleFunction را VOID در نظر بگیرید در Microsoft Visual Studio با خطا روبرو خواهید شد.
#include <stdio.h>
int main()
{
sampleFunction();
return 0;
}
int sampleFunction()
{
printf("Hello from sampleFunction\n");
return 0;
}
🦅 کانال بایت امن | گروه بایت امن
_