удалить точку с запятой в for
заявлении после i=i+2;
for (i=0; i<100; i=i+2)
Также вы, вероятно, необходимо использовать некоторые скобки вокруг тела. Цикл for - это только один оператор.
Что-то вроде
for (i=0; i<100; i=i+2) {
a = (1*1);
b = (i*i*i*i);
c = pow(i, (1/3));
printf("%d, %d, %d", a, b, c);
}
Редактировать
Я думаю о for
заявление в C, будет состоять из трех разделов в скобках и что после закрывающей скобки либо одного оператора или составной оператор, который представляет собой серию утверждений, заключенных в фигурные скобки.
Заявление, такие как for (i=0; i < 10; i=i+2) printf(" i = %d\n", i);
выведет последовательность цифр, 0, 2, 4, 6, 8. Это похоже на набор утверждений с использованием while
заявления, как в:
i=0;
while (i < 10) {
printf (" i = %d\n", i);
i=i+2;
}
три секции в скобкой for
заявления не являются обязательными, так что вы могли бы иметь что-то вроде следующего, который аналогичен по структуре цикла while
i=0;
for (; i < 10;) {
printf (" i = %d\n", i);
i=i+2;
}
, в котором вы перенесли первое и третьи секции за пределами инструкции for
. Обратите внимание, что поскольку оператор for
имеет составной оператор, мы должны использовать фигурные скобки, чтобы указать, что следующие операторы, каждая из которых заканчивается точкой с запятой, являются частью инструкции for
.
Мы также можем использовать запятую операторов внутри цикла for
таких, как в следующем примере:
int i, j, k;
for (i = j = 0, k = 3; i < 10 && k > 1; i++, j+=2) {
printf (" i = %d j = %d k = %d\n", i, j, k);
}
выше будет выглядеть следующим образом:
int i, j, k;
j = 0;
i = j;
k = 3;
while (i < 10 && k > 1) {
printf (" i = %d j = %d k = %d\n", i, j, k);
i++;
j+=2;
}
Там даже не вопрос здесь, ваш компилятор уже рассказывающие вам об ошибке. –
В C, чтобы иметь более одной строки, выполненной в кодовом блоке (например, цикл «для»), блок кода должен содержать открывающую и закрывающую фигурные скобки; '{' и '}' аналогично: for (....) {....}, иначе только следующий оператор рассматривается как часть цикла. строка: 'a = (1 * 1);' всегда будет приводить к тому, что «a» будет установлен в 1. Я подозреваю, что на самом деле был нужен квадрат «i», а не квадрат 1. предположим: «a = i * i); – user3629249