Да, вы не можете этого сделать.
Кстати, это декларации, а не условия.Условием является только средняя часть цикла for
.
Вы можете объявить несколько переменных в первой части цикла for
, но только если они имеют одинаковый базовый тип (например, int
).):
for (int x = 1, y = 2, z = 3; ...; ...)
Обходной путь в вашем случае - объявить хотя бы одну из переменных вне цикла:
{ // this outer block limits the scope of x
double x = e;
for (int i = 0; i < 25; i++, x += interval)
{
printf("%f", y);
x++;
}
}
Тем не менее, ваш код на самом деле не имеет смысла,Ваш цикл не использует x
, поэтому нет смысла его устанавливать.С другой стороны, значение, которое вы печатаете 25 раз (y
), не изменяется в цикле.Он установлен в верхней части вашей главной функции, вычисляемой из другой неинициализированной переменной x
.
Вы должны переместить объявление и инициализацию y
в цикл и удалить внешний x
.Смотри также https://stackoverflow.com/a/53238897/1848654.