IKIU-CE, The computer-engineering students web log - Qazvin, وب‌نوشت دانشجویان گروه مهندسی کامپیوتر - قزوین
یادداشت‌ها: فارسی ، Posts: English

۱۳۸۸ بهمن ۷, چهارشنبه

نمونه سوال طراحی زبان های برنامه سازی

1. تکه برنامه ی زیر را در نظر بگیرید

int *p,*q;
{
p=malloc(sizeof(int));
q=p;
*p=1;
*q=*p+1;
printf("%d",*p);
free(p);
c;
printf("%d",*q);
}

کار نمیکندq و p زیرروالی است که با sub
چه مقداری را چاپ میکند؟ printf(*p) دستور -
پاسخ: 2

2.چه مقداری را چاپ می کند؟ printf(*q) چیست؟دستور q وضعیت ،free(p) پس از اجرای -
، dangling pointer
مقدار چاپ شده نا مشخص خواهد بود هر چند اگر زیرروال sub هیچ allocation از حافظه ی heap انجام ندهد همان مقدار 2 چاپ خواهد شد



2. خروجی این تابع در سه حالت زیر چه مقداری خواهد بود؟
#include
int x;
void p(int y)
{
y=y+1;
x=x+2;
}
void main()
{
x=1;
p(x);
printf("%d",x);
}

1. passe by value? 3
2. passe by value-result? 2
3. passe by reference? 4