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

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

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

Столкнулся с одним непонятным явлением в цикле. Для описания этого явления написал простенькую программку.
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4.  
  5. int main(){
  6. double i;
  7. for(i=0; i<=3; i+=0.1)
  8. printf("\nSqr(%lg)=%lg", i, i*i);
  9. getch();
  10. return 0;
  11. }
В цикле условие i<=3 меняем на i<3. Но результат программы никак не меняется! Программа все так же выводит квадраты чисел от 0 до 2.9. Почему смена нестрогого условия на строгое никак не отражается на результате?

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

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

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

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы