PDA

View Full Version : سوال: ؟ایا در کامپایلر dev c از void استفاده میشه؟



motherboard
دوشنبه 07 بهمن 1392, 17:36 عصر
سلام .ایا دوستانی که از کامپایلر dev c استفاده می کنند ایا توانستند که از ()void هم استفاده کنند؟به این دلیل این سوال رو کردم که مثال هایی رو که در کتاب ها دارای void هست در این کامپایلر اجرا نمیشه؟اینکه در کتاب ها نوشته شده void یعنی خروجی ندارد منظور ان چیست؟و اصلا برنامه ای که خروجی نداشته باشد ایا واقعا برنامه است ؟!کمی این مفاهیم برایم غیر قابل فهم شده .اگر ممکن است مرا راهنمایی بفرمایید.با تشکر.

fahimeh1512
دوشنبه 07 بهمن 1392, 18:33 عصر
سلام تابعی که خروجیش void باشه به تابعی که فراخوانیش کرده مقداری رو برنمیگردونه تو این مثال f خروجی نداره

void f(int a,int b);
int main()
{
f(2,3);
getch();
return 0;
}

void f(int x,int y)
{
printf("x+y=%d",x+y);
}


همونطور که تو کد میبنی تابع f هیچ مقداری رو به عنوان نتیجه به تابع main برنمیگردونه فقط تو کد خودش مثلا یه عبارتی رو چاپ میکنه ولی مثلا خود تابع main چون خروجیش از نوع int هست پس در اخر باید یه مقداری رو برگردونه که در اینجا 0 رو داره ریترن میکنه
اگر بخوایم مثلا نتیجه رو از طریق خروجی f به main برگردونیم میتونیم اینجوری بنویسیم

int f(int a,int b);
int main()
{
int result=f(2,3);
printf("result=%d",result);
getch();
return 0;
}

int f(int x,int y)
{
return x+y;
}