Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
SadiQ228
-16 / 12 / 7
Регистрация: 16.12.2016
Сообщений: 577
1

присвоение значения переменной

11.02.2017, 13:59. Просмотров 811. Ответов 9
Метки нет (Все метки)

почему записи вида
C
1
int i=j=0;
при объявлении внутри функции не котируется компилятором, но в цикле
C
1
for (i=j=0; i<0; i++,j++){}
все работает как хочется?
по честному пробовал найти сам ответ не вышло
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2017, 13:59
Ответы с готовыми решениями:

Присвоение переменной char значения из командной строки
Хочу поместить в переменную rest значеиние, вводимое в командной строке, но она все равно остается...

Присвоение значение переменной
int b=5;почему когда мы так присваиваем значение мы напрямую обращаемся к переменной b а не через...

Присвоение переменной char русских букв
Мне нужно переменной присвоить русскую букву Char c= Русских букв в ascii коде нет как быть ...

Присвоение адреса переменной к другому перменному
Здравствуйте, у меня никак не получается объединить адрес указателя на элементы массива к другому...

Передача указателя в функцию, присвоение адреса переменной и возврат
Добрый день, подскажите, почему в отладке в функции указателю адрес переменной присваивается...

9
MansMI
1459 / 1167 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
11.02.2017, 14:19 2
C
1
2
3
int i=0,j=0;//так работает
i=j=0;//и так
for (int i=j=0; i<0; i++,j++)//а так нет, вроде понятно int i=0,//j еще не существует
0
SadiQ228
-16 / 12 / 7
Регистрация: 16.12.2016
Сообщений: 577
11.02.2017, 14:24  [ТС] 3
приложу иллюстрации
0
Миниатюры
присвоение значения переменной   присвоение значения переменной  
MansMI
1459 / 1167 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
11.02.2017, 14:30 4
и что в них?
0
11.02.2017, 14:30
SadiQ228
-16 / 12 / 7
Регистрация: 16.12.2016
Сообщений: 577
11.02.2017, 14:44  [ТС] 5
да форма записи например мне надо много нулевых переменных в каком то гайде видал шо можно в строчку записать через ровно , а на практике не работает так
0
ShadowKing
28 / 28 / 23
Регистрация: 18.04.2015
Сообщений: 81
Завершенные тесты: 1
11.02.2017, 17:45 6
Цитата Сообщение от SadiQ228 Посмотреть сообщение
да форма записи например мне надо много нулевых переменных в каком то гайде видал шо можно в строчку записать через ровно , а на практике не работает так
Их и можно записать. Но только не вовремя объявления.
Когда вы пишете
C++
1
    int i = j = 0;
У вас j не существует, поэтому её присвоить нельзя, и её объявления в данном случае не происходит. Но никто не мешает вам записать так:
C++
1
2
    int i, j;
    i = j = 0;
1
SadiQ228
-16 / 12 / 7
Регистрация: 16.12.2016
Сообщений: 577
11.02.2017, 18:06  [ТС] 7
понял
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
6056 / 2892 / 788
Регистрация: 18.10.2014
Сообщений: 5,303
11.02.2017, 20:48 8
Цитата Сообщение от SadiQ228 Посмотреть сообщение
почему записи вида
C
1
int i=j=0;
при объявлении внутри функции не котируется компилятором, но в цикле
C
1
for (i=j=0; i<0; i++,j++){}
все работает как хочется?
Странный вопрос.

Попробуем:

C
1
2
3
int main() {
  for (i=j=0; i<0; i++,j++){}
}
Получаем ошибку компиляции. Компилятор не знает переменных i и j. Вы же говорите, что "все работает как хочется". Что же имеется в виду под "как хочется"?

Чтобы такой код компилировался, переменные i и j должны быть объявлены заранее

C
1
2
3
4
int main() {
  int i, j;
  for (i=j=0; i<0; i++,j++){}
}
Аналогичная ситуация имеет место с вашим первым вариантом

C
1
2
3
int main() {
  int i = j = 0;
}
Это объявление переменной i с выражением j = 0, использованным в качестве инициализатора. (Заметим на полях, что только второе = является присваиванием, а первое = - это не оператор вообще, а просто синтаксический элемент объявления). Так как переменная j компилятору не известна, код не компилируется.

Чтобы такой код компилировался, переменная j должна быть объявлена заранее

C
1
2
3
4
int main() {
  int j;
  int i = j = 0;
}
Все логично и логика ничем не отличается от вашего примера с for.
0
Catstail
Модератор
25417 / 13045 / 2432
Регистрация: 12.02.2012
Сообщений: 21,295
12.02.2017, 09:16 9
А меня удивляет странное употребление слова "котируется".
0
MansMI
1459 / 1167 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
12.02.2017, 10:02 10
не у всех на правом плече сидит кодитор
0
12.02.2017, 10:02
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2017, 10:02

Присвоение значения константе
Вообщем хочу сделать так, чтобы пользователь сам ввел сколько нужно создать элементов массива. Вот...

Присвоение и Возврат значения из функции
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; //среднее...

Изменения значения переменной
Доброго времени суток, не изменяется int-овая переменная в зависимости от вводимого символа char....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.