خروجی این تابع چیه؟

Djhamid2008

New Member
سلام
میخواستم ببینم خروجی این تابع چیه :
کد:
[FONT=Tahoma]int x=2,i,j;
for (i=1;i<=5;i++)
x=x+i;
forr (j=x;j>0;j--)
x-=i;
printf("x=%4d and i=%d and \n j=%d\n",x,i,j);[/FONT]
 

the_king

مدیرکل انجمن
کد:
int main()
{
    int x = 2, i, j;
    for (i = 1; i <= 5; i++)
        x = x + i;
    for (j = x; j > 0; j--)
        x -= i;
    printf("x = %4d and i = %d and \n j = %d\n", x, i, j);
    return 0;
}

خروجی اش چنین خواهد بود :
کد:
x =  -85 and i = 6 and
 j = 0
i برابر 6 خواهد بود، چون در حلقه زیر مقدار i آنقدر افزایش می یابد که شرط i <= 5 برقرار نشود :
کد:
    for (i = 1; i <= 5; i++)

j برابر 0 خواهد بود، چون در حلقه زیر مقدار j آنقدر کاهش می یابد که شرط j > 0 برقرار نشود :
کد:
    for (j = x; j > 0; j--)

مقدار x برابر 85- خواهد بود، چون ابتدا در حلقه زیر مقدار اولیه x (برابر 2)به مقدار 5 + 4 + 3 + 2 + 1 افزایش می یابد :
کد:
    for (i = 1; i <= 5; i++)
        x = x + i;
یعنی مقدار x به 17 می رسد.
و در حلقه دوم هم x بار (برابر با 17 بار) مقدار i (برابر 6) از x کسر می شود :
کد:
    for (j = x; j > 0; j--)
        x -= i;
 

جدیدترین ارسال ها

بالا