Пришла пора менять работу. Решил попроходить различные тесты, чтобы выявить пробелы в знаниях и устранить их. Попутно заинтересовался курсами в geekbrains, потому их тесты стал проходить первыми.
Вопрос из группы сложных: https://i.imgur.com/KOMTtok.png
Так как цикл do-while, первая итерация у нас безусловная, напечатали звездочку, результат целочисленного деления сохранили в i = 1. Выполняем проверку условия - результат целочисленного деления 1/2 (с отбрасыванием дробной части) - 0. Выходим из цикла. Вроде бы все просто, отвечаю «одну». В конце теста узнаю, что этот ответ мне не засчитали.
Компилирую этот код gcc (linux,x86_64), результат получаю тот же - одна звезда:
[popov@PopovIansWorkstation ~]$ cat test1.cpp
#include <iostream>
int main(int argc, char **argv) {
int i = 5;
do {
std::cout << '*';
i /= 4;
} while (i/2);
std::cout << std::endl;
return 0;
}
[popov@PopovIansWorkstation ~]$ g++ test1.cpp && ./a.out
*
[popov@PopovIansWorkstation ~]$