Ваше утверждение if должно быть:
if(turtles == 0)
На данный момент оно содержит назначение, поэтому вы получаете сообщение об ошибке.
Возможно, вы захотите добавитьпечатать строку после окончания цикла while, поскольку монеты не отображаются в цикле while.Если черепашки всегда будут положительными в начале вашего блока кода, то вам не понадобится оператор if, так как условие завершения цикла while будет означать, что черепашки равны 0 при выходе.
Если вам все еще нужен оператор if (потому что черепахи могут начинаться, например, с -1), то перемещение оператора if из предложения while, вероятно, все равно предложит вам небольшое улучшение производительности, поскольку оценка не должна бытьвыполняется для каждой итерации цикла.В вашем конкретном случае, учитывая небольшое количество итераций, влияние будет минимальным (компилятор может даже оптимизировать его для вас), но это то, что вы, возможно, захотите рассмотреть в будущем.
while (turtles > 0) {
turtles = turtles - 1;
coin++;
}
if (turtles == 0) // not needed if turtles is unsigned
printf("Now you have %d coins\n", coin);