Форум программистов, компьютерный форум CyberForum.ru

зачем ставить ";"(пустую инструкцию два раза) в цикле for - C++

Восстановить пароль Регистрация
 
erik
Сообщений: n/a
11.09.2012, 18:06     зачем ставить ";"(пустую инструкцию два раза) в цикле for #1
for (i = 0; ; i++)

Добавлено через 1 минуту
одну убираешь прог не пашет. Пожалуйста подскажите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
11.09.2012, 18:10     зачем ставить ";"(пустую инструкцию два раза) в цикле for #2
for (i = 0; условие выхода из цикла ; i++)

если оставить пустоту, то это равносильно true
полностью это условие убрать нельзя
erik
Сообщений: n/a
11.09.2012, 18:58     зачем ставить ";"(пустую инструкцию два раза) в цикле for #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// programma rasschityvaet rashod topliva na milyu proidennogo puti
#include <iostream>
 
using namespace std;
 
int main()
{
    int i;
    float rashod,rasstoyanie,total,sum = 0;
 
    // nachinaem cikl vvoda
    // uslovie vyhoda iz cikla zadaem v samom cikle
    for (i = 0; ;i++)
    {
        // zaprashivaem rashod i sohranyaem v peremennuyu rashod
        cout << "Vvedite rashod benzina (dlya vihoda vvedite -1): ";
        cin >> rashod;
 
        // proverka vvedennogo znachenia
        // esli pol'zovatel' vvel nul', to vozvrawaem na na4alo cikla
        // esli vvel -1, to vihodim iz  cikla
        if (rashod == 0)
        continue;
        if (rashod == -1)
        break;
 
        // zaprawivaem proidennyi put' i sohranyaem v peremennuyu rasstoyanie
        cout << "Vvedite proidennyi put': ";
        cin >> rasstoyanie;
 
        // raschityvaem chislo mil' na gallon benzina, vyvodim na ekran
        total = rasstoyanie / rashod;
        cout << "Dlya etoi emkosti polucheno mil': " <<total<< endl<<endl;
 
        // dobavlyaem naidennoe znachenie v obwuyu summu, nujno dlya srednego
        sum += total;
    }
    // raschityvaem srednee i vyvodim na ekran
    cout <<"srednii rashod benzina: " << sum / i << endl;
 
 
 
 
    return 0;
}
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
11.09.2012, 19:09     зачем ставить ";"(пустую инструкцию два раза) в цикле for #4
; это не пустая инструкция, в этом все и дело.
Точки запятой в for с точки зрения грамматики не то же самое, что точки с запятой после одиночного statement'a.
Прими как есть, заинтересует глубже - изучай стандарт, в частности описание грамматики языка.
Yandex
Объявления
11.09.2012, 19:09     зачем ставить ";"(пустую инструкцию два раза) в цикле for
Ответ Создать тему
Опции темы

Текущее время: 17:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru