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

Можно ли в С++ иниациализировать несколько переменных в одной строке через запятую?

25.03.2024, 13:22. Показов 793. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно ли в С++ иниациализировать несколько переменных в одной строке через запятую?
C++
1
int var1, var2;
В Visual Studio эта строка ошибку не вызывает, но ошибка возникает ниже при использовании переменной var2. Если переменные инициализировать каждую в отдельной строке, то ошибки нет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2024, 13:22
Ответы с готовыми решениями:

Ввести через консоль несколько переменных через пробел в одной строке
Всем привет. Я только учусь программировать, так что вопрос должен быть довольно несложным. Мне...

Несколько строк в одной через запятую
Доброго времени суток. Delphi, СУБД BDE, Существует данная таблица: группа имя ...

Как объявить несколько переменных в одной строке кода
При объявлении двух и более переменных появляются ошибки. С чем это связано? Раньше объявлялись...

jquery.inputmask несколько номеров телефона, через запятую можно ли это сделать?
Добрый день! Можно ли сделать маску для нескольких номеров телефона используя jquery.inputmask?...

Как можно сделать ввод 3 переменных в одной строке?
Как можно сделать ввод 3 переменных в одной строке, чтобы программа была компактней? using...

12
4188 / 1066 / 87
Регистрация: 21.04.2013
Сообщений: 7,548
25.03.2024, 13:27 2
Цитата Сообщение от Isur Посмотреть сообщение
ошибка возникает ниже при использовании переменной var2.
Какая ошибка? Как вы используете переменную var2?
0
Злостный нарушитель
9651 / 5235 / 1195
Регистрация: 12.03.2015
Сообщений: 24,681
25.03.2024, 13:28 3
Лучший ответ Сообщение было отмечено Royal_X как решение

Решение

Цитата Сообщение от Isur Посмотреть сообщение
Можно ли в С++ иниациализировать несколько переменных в одной строке через запятую?
Можно.
C++
1
int var1 = -9000, var2 = 100500;
0
фрилансер
5854 / 5393 / 1103
Регистрация: 11.10.2019
Сообщений: 14,399
25.03.2024, 14:36 4
Isur, поди с указателями что-то? Полный код приведи
0
1660 / 1183 / 603
Регистрация: 17.03.2022
Сообщений: 3,714
25.03.2024, 14:36 5
Цитата Сообщение от Isur Посмотреть сообщение
В Visual Studio эта строка ошибку не вызывает, но ошибка возникает ниже при использовании переменной var2. Если переменные инициализировать каждую в отдельной строке, то ошибки нет.
Так вы описываете переменные или инициализируете? В тексте написано одно, в строке кода - другое.
0
2 / 2 / 2
Регистрация: 29.06.2018
Сообщений: 116
25.03.2024, 14:52  [ТС] 6
Цитата Сообщение от Pphantom Посмотреть сообщение
Так вы описываете переменные или инициализируете? В тексте написано одно, в строке кода - другое.
Да, речь идёт об описании. Путаюсь в терминах из разных областей.

Цитата Сообщение от Алексей1153 Посмотреть сообщение
Isur, поди с указателями что-то? Полный код приведи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    int var1, var2;
    int* ptr1, ptr2;
 
    ptr1 = &var1;
    ptr2 = &var2;
    *ptr1 = 100;
    *ptr2 = 200;
    std::cout << var1 << "\n";
    std::cout << var2 << "\n";
}
Ошибка в 9 строке
0
1660 / 1183 / 603
Регистрация: 17.03.2022
Сообщений: 3,714
25.03.2024, 15:01 7
Лучший ответ Сообщение было отмечено Pphantom как решение

Решение

Да, действительно с указателями.

Звездочка в описании в строке номер 6 относится не к int, а к ближайшей переменной, т.е. ptr1. Проще говоря, в этой строке описан указатель на целочисленную переменную ptr1 и просто целочисленная переменная ptr2. Правильно
C++
1
int *ptr1, *ptr2;
Ну и ошибка в 9-й строке - уже просто следствие несоответствия типов.
0
Злостный нарушитель
9651 / 5235 / 1195
Регистрация: 12.03.2015
Сообщений: 24,681
25.03.2024, 15:01 8
Цитата Сообщение от Isur Посмотреть сообщение
Ошибка в 9 строке
Это тебе привет от создателей языка Си. Это те ещо извращуги были...

Можно ли в С++ иниациализировать несколько переменных в одной строке через запятую?


Но в С++ можно немного расслабить булки. Например, вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    int var1, var2;
    //int *ptr1, *ptr2;
 
    auto ptr1 = &var1;
    auto ptr2 = &var2;
    *ptr1 = 100;
    *ptr2 = 200;
    std::cout << var1 << "\n";
    std::cout << var2 << "\n";
}
Ну, а в чистых Сях можно как-то так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
typedef int* intptr; 
 
int main()
{
    int var1, var2;
    intptr ptr1, ptr2;
 
    ptr1 = &var1;
    ptr2 = &var2;
    *ptr1 = 100;
    *ptr2 = 200;
    std::cout << var1 << "\n";
    std::cout << var2 << "\n";
}
0
фрилансер
5854 / 5393 / 1103
Регистрация: 11.10.2019
Сообщений: 14,399
25.03.2024, 15:30 9
Isur, просто оставь эту дурацкую привычку лепить всё в одну строку
0
460 / 327 / 64
Регистрация: 09.03.2016
Сообщений: 3,244
25.03.2024, 15:46 10
Можно ли в С++ иниациализировать несколько переменных в одной строке через запятую?

Надо их было инициализировать наверное...
Перед вторым указателем звёздочку не поставил
0
460 / 327 / 64
Регистрация: 09.03.2016
Сообщений: 3,244
25.03.2024, 15:59 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    int var1{}, var2{};
    int *ptr1{},             *ptr2{};// <----- надо -------
 
    ptr1 = &var1;
    ptr2 = &var2;
    *ptr1 = 100;
    *ptr2 = 200;
    std::cout << var1 << "\n";
    std::cout << var2 << "\n";
}
Добавлено через 3 минуты
Вот так тоже компилирует.

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    int var1{}, var2{};
    int *ptr1 = &var1, *ptr2 = &var2;
 
    *ptr1 = 100;
    *ptr2 = 200;
    std::cout << var1 << "\n";
    std::cout << var2 << "\n";
}
0
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
26.03.2024, 15:47 12
Цитата Сообщение от Алексей1153 Посмотреть сообщение
просто оставь эту дурацкую привычку лепить всё в одну строку
C++
1
2
3
4
5
6
7
#include <iostream> 
int main(){
    int var1{}, var2{};
    int *ptr1 = &var1, *ptr2 = &var2;
    *ptr1 = 100,  *ptr2 = 200;
    std::cout << var1 << "\n" << var2 << "\n";
}
Нормально же
0
Вездепух
Эксперт CЭксперт С++
12802 / 6677 / 1797
Регистрация: 18.10.2014
Сообщений: 16,901
26.03.2024, 17:35 13
Цитата Сообщение от Isur Посмотреть сообщение
но ошибка возникает ниже при использовании переменной var2
Цитата Сообщение от Isur Посмотреть сообщение
Ошибка в 9 строке
Но в 9 строке имеет место ошибка с использованием переменной ptr2. Почему в вопросе идет речь о var2 и приведено объявление var2. При чем здесь var2 вообще?
0
26.03.2024, 17:35
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2024, 17:35
Помогаю со студенческими работами здесь

Есть функция, в прототипе которой несколько параметров перечислены через запятую. Можно ли в теле функции обработать их, как массив?
Например, double max(double x1, double x2, double x3, double x4) { int m; int i; double *a;...

Как считать с консоли сразу несколько чисел через пробел в одной строке?
Есть два вопроса. 1)Как например считать число с консоли. Я пишу int a = Console.Read();...

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

Несколько параметров $_POST через запятую
Нужно что бы пользователь в форме через запятую ввёл значения ключей массива, и далее проводить...

Как вывести значения трех переменных в Edit1 через запятую?
Здравствуйте! Есть 3 переменные p1,p2,p3 Как вывести значения этих переменных в Edit1 через...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru