hassan mci Ответов: 2

Пожалуйста, нужна помощь для объяснения этого кода


void main ()
{
int digit;
for (digit=0;digit<=9;digit++)
cout<<digit<<"\n";
digit=5*digit;
--digit;
cout<<digit;
}


Что я уже пробовал:

void main ()
{
int digit;
for (digit=0;digit<=9;digit++)
cout<<digit<<"\n";
digit=5*digit;
--digit;
cout<<digit;
}
/* я не знаю 49, как это происходит */

[no name]

Используйте отладчик для пошагового просмотра кода.

2 Ответов

Рейтинг:
2

Patrice T

Как насчет того, чтобы самостоятельно выяснить, что делает код с помощью отладчика ?

Вы должны научиться использовать отладчик как можно скорее, это невероятный инструмент обучения. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
1

Afzaal Ahmad Zeeshan

Если вы знаете основы работы программ на языке Си, то можете легко сопоставить значение с выводом программы,

// Write clean code, it makes more sense.
void main ()
{
    int digit;                                    // create a new variables
    for (digit = 0; digit <= 9 ; digit++) {       // run the loop using "digit" variable
                                                  // until digit becomes 10
        cout << digit << "\n";                    // print current digit, each time
    }

    digit= 5 * digit;                             // Multiply last value of digit (10)
                                                  // with 5
    --digit;                                      // Decrease its value by 1 (--)
    cout << digit;                                  // Print it.
}

И все мы знаем, что 5х10=50 и 50-1=49. Если эта программа не имеет смысла, пожалуйста, попросите вашего инструктора начать все сначала и научить вас этому снова, так как вы вообще не имеете о них никакого представления. Это распространенная проблема среди новичков, они не понимают основ и пытаются построить что — то большое-что не работает.


hassan mci

цифра<=9 ??? он никогда не работает до 10, цикл работает до 9 . так что 9*5 = 45, а чем-так 44 .но на выходе получается 49 . Любые способы спасибо большое вы даете мне предложение

Member 12173907

Условие становится неправильным, когда значение цифры равно 10, потому что 10<=9 неверно. Таким образом, цикл завершается, оставляя значение цифры равным 10

Пожалуйста, запустите отладчик, чтобы понять это самостоятельно.