пожалуйста, объясните вывод - PullRequest
0 голосов
/ 01 апреля 2011
#include<stdio.h>
#include<conio.h>

int t=8;

int dok(int);
int doky(int);

int main()
{
    int clrscr();
    int x,y;
    int s=2;
    s*=3;
    x=dok(s);
    y=doky(s);
    printf("%d%d%d",s,y,x);
    getch();
    return 0;
}

int dok(int a)
{
    a+=-5;
    t-=4;
    return(a+t);
}

int doky(int a)
{
    a=1;
    t+=a;
    return(a+t);
}

Ответ на код выше: 665

Я понимаю, почему s=6, x=1+4=5 (a=6-5=1, t=8-4=4) ... Скажите, пожалуйста, как y выглядит как 6, я думал, что y будет 1+4=5 (a=1, t=4)

Спасибо, пожалуйста, помогите мне.

Ответы [ 5 ]

5 голосов
/ 01 апреля 2011

скажите мне, как у получается 6 ...

Функция вызова dok изменяет t на 4.

int doky(int a)
{
    a=1;
    t+=a;    // Previously t is 4 because of t-=4 in earlier function call
             // t = 4+1 = 5
    return(a+t);   // 1+5 = 6 retured
}
1 голос
/ 01 апреля 2011

Значение t изменяется на 4 с помощью функции dok, а функция doky увеличивает это значение на 1 (значение в a). Суммируйте это (пока 5) со значением a снова (установите в 1), и это 4 + 1 + 1 = 6.

//t is 4, the value of a is irrelevant since it changes on the next instruction.

a=1;
t+=a;    // t is now 5

return(a+t);   // 1+5 = 6
1 голос
/ 01 апреля 2011

сначала t увеличивается на a, а затем возвращается сумма a и t

так, t было 4. тогда выполняется оператор t + = a и t становится 5. и a + t == 1+5 == 6 возвращается

0 голосов
/ 01 апреля 2011

Просто сделай это карандашом и бумагой ...

                 | t | x | y | s | a |
-----------------+---+---+---+---+---+
before main      | 8 |#NA|#NA|#NA|#NA|
before x=dok(s)  | 8 | ? | ? | 6 |#NA|
inside dok       | 4 |#NA|#NA|#NA| 1 |
after dok        | 4 | 5 | ? | 6 |#NA|
before y=doky(s) | 4 | 5 | ? | 6 |#NA|
inside doky      | 5 |#NA|#NA|#NA| 1 |
after doky       | 5 | 5 | 6 | 6 |#NA|
0 голосов
/ 01 апреля 2011

у = а + т = а + т + а = 1 + 4 + 1 = 6:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...