Почему при изменении условия цикла ничего не меняется? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Столкнулся с одним непонятным явлением в цикле. Для описания этого явления написал простенькую программку.
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main(){
    double i;
    for(i=0; i<=3; i+=0.1)
        printf("\nSqr(%lg)=%lg", i, i*i);
    getch();
    return 0;
}
В цикле условие i<=3 меняем на i<3. Но результат программы никак не меняется! Программа все так же выводит квадраты чисел от 0 до 2.9. Почему смена нестрогого условия на строгое никак не отражается на результате?

Решение задачи: «Почему при изменении условия цикла ничего не меняется?»

textual
Листинг программы
int main(){
        double i,j=3.0;
        for(i=0; i<=j; i+=0.1)
        printf("\nSqr(%lg)=%lg", i, i*i);
        getch();
    return 0;
}

Объяснение кода листинга программы

В этом коде выполняется следующее:

  1. Объявляются две переменные: i и j. Значение переменной j устанавливается равным 3.0.
  2. Запускается цикл for, который начинается с i=0, продолжается до тех пор, пока i меньше или равно j, и шаг цикла равен 0.1.
  3. Внутри цикла вычисляется и выводится на экран значение квадрата переменной i (используется функция printf).
  4. После окончания цикла программа ожидает нажатия клавиши (используется функция getch).
  5. Программа возвращает 0, что означает успешное завершение работы. Следует отметить, что в данном коде не происходит изменения переменной j в цикле, поэтому значение переменной j остается равным 3.0 на протяжении всего цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы