complexcoding
چهارشنبه 14 تیر 1391, 15:16 عصر
دوستان سلام
خروجی این کد 0 و 31 و 30 و 40 و 10 می شود؟ چرا؟
int p(int a[3])
{
a[0]=30;
*(a+1)=*a+1;
a[-1]=*a+10;
}
main(){
int x[5]={10,70,90};
int i;
p(x+2);
for(i=0;i<5;)
cout<<x;}
اول اینکه ایندکس آرایه از 0 و 1 شروع می شود الا آخر در این کد ایندکس [1-] هم داده؟
دوم اینکه در داخل متد main فراخوانی انجام شده با (p(x+2 یعنی جایگزینی مقادیر 30 و 31 و 40 خوب پس باید خروجی بشه 31 و 30 و 40 و 70 و 10 دیگه ؟
سوال مهم: نکنه منظورش از (p(x+2 خانه دوم آرایه x هست نه سوم ؟ اگر اینگونه است یه راهنمایی بکنید که ما از کجا این موارد رو قاطی نکنیم؟ یعنی منظورش از (p(x+1 خانه اول آرایه است یا خانه دوم ؟؟
خروجی این کد 0 و 31 و 30 و 40 و 10 می شود؟ چرا؟
int p(int a[3])
{
a[0]=30;
*(a+1)=*a+1;
a[-1]=*a+10;
}
main(){
int x[5]={10,70,90};
int i;
p(x+2);
for(i=0;i<5;)
cout<<x;}
اول اینکه ایندکس آرایه از 0 و 1 شروع می شود الا آخر در این کد ایندکس [1-] هم داده؟
دوم اینکه در داخل متد main فراخوانی انجام شده با (p(x+2 یعنی جایگزینی مقادیر 30 و 31 و 40 خوب پس باید خروجی بشه 31 و 30 و 40 و 70 و 10 دیگه ؟
سوال مهم: نکنه منظورش از (p(x+2 خانه دوم آرایه x هست نه سوم ؟ اگر اینگونه است یه راهنمایی بکنید که ما از کجا این موارد رو قاطی نکنیم؟ یعنی منظورش از (p(x+1 خانه اول آرایه است یا خانه دوم ؟؟