С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
1

Выражение в скобках и без скобок. Какая разница? В цикле фор

04.08.2015, 14:03. Показов 3771. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему (c=getchar()) в скобках работает корректно, а без них нет. Вот вариант без скобок for(nl;c=getchar()!=eof
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma hdstop                                                                        
#include <stdio.h>
#include <conio.h>
#define eof 26
int main()
{
 int c,nl;
 nl=1;
 for(nl;(c=getchar())!=eof;)
  if(c=='\n')
  nl++;
 printf("%d\n",nl);
 getch();   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2015, 14:03
Ответы с готовыми решениями:

Нюансы синтаксиса: какая разница между названием заголовочного файла в угловых скобках и в кавычках?
Какая разница между: #include &lt;windows.h&gt; и #include &quot;windows.h&quot;

Сайт с базами и без баз данных, какая разница?
Сайт с базами и без баз данных, какая разница? в чем разница и что если у меня нет баз данных на...

Использовать регулярное выражение, определяющее является ли данная строка GUID с или без скобок
Задание: Использовать регулярное выражение, определяющее является ли данная строка GUID с или без...

Выражение в квадратных скобках
Здравствуйте. Заранее прошу прощения за странный вопрос, дело в том, что сам пишу на C++, но...

3
Заблокирован
04.08.2015, 14:08 2
без скобок это аналогично c=(getchar()!=eof)
1
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
04.08.2015, 14:11 3
Лучший ответ Сообщение было отмечено Aqua77 как решение

Решение

Aqua77, потому что приоритет операторов разный. У оператора "!=" он выше, чем у оператора "=", поэтому во втором случае сначала выполняется проверка на неравенство, а затем ее результат (true или false) присваивается переменной. В первом же случае у скобок наивысший приоритет, поэтому сначала выполняется то, что в скобках, т.е присвоение считанного символа переменной, а затем сравнение его с eof.
2
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
04.08.2015, 14:17 4
Лучший ответ Сообщение было отмечено Aqua77 как решение

Решение

Цитата Сообщение от Aqua77 Посмотреть сообщение
Почему (c=getchar()) в скобках работает корректно, а без них нет.
Ну, в С++ столько знаков операций, что, не выучив их приоритет, вы ни черта не поймете. Оператор присваивания имеет самый низкий приоритет, ниже него только запятая. Поэтому, чтобы он выполнился раньше - нужны скобки.
1
04.08.2015, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2015, 14:17
Помогаю со студенческими работами здесь

Регулярное выражение - текст в скобках
Необходимо регулярное выражение которое находит конструкцию - любой текст или символы в круглых...

Как сделать чтобы считало выражение в скобках?
Как сделать чтобы считало выражение в скобках? например такое 2+6*(4+6-9)-(2+9*(2-6))+10*sin(60) ...

Регулярное выражение для символов в фигурных скобках
Добрый день, форумчане. Ищу строку {%x%}, где x один или несколько символов. \{%]*\%} Моё...

Вместо проверки if условия выражение в скобках выполняется
Вместо того, чтобы проверить условие if(planshetbutton.ISSelect = true) выражение в скобках...

Регулярное выражение. Взять то, что в первых круглых скобках
Добрый день! В регулярками не очень, но обещаю исправиться! :) Помогите плиз. Есть строка...

Расстановка скобок в цикле for in
Есть формула, не получается прописать ее в python 3.x Не могу расставить скобки походу a -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru