Как вы мыслите, можно ли использовать в арифметическом выражении оператора присваивания
Как вы думаете, можно ли использовать в арифметическом выражении оператора присваивания неопределенную переменную? К каким последствиям это может
привести?
Илья Макокин
Как повезет. Но чаще всего к ужасным: программка либо ведет себя непредсказуемо, либо просто аварийно завершается.
1 ответ
Инна Бахныкина
1. Если имеется в виду язык Pascal, то получим последующее:
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
b:=a+a;
writeln (b);
end.
Program50.pas(5) : Неизвестное имя 'b'
2. Попробуем такой вариант на Python
a =int(input())
b = a+a
print(b)
При вводе а получим на выходе 10
Получается, что в Pacal нужно объявлять переменные в секции переменных, или в любом месте программки можно объявить переменную с поддержкою служебного слова var для PascalABC.net. 1-ый код можно переписать так, и он будет работать:
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
var b:=a+a;
writeln (b);
end.
Рузультат при введенном значении 5 равен 10
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
b:=a+a;
writeln (b);
end.
Program50.pas(5) : Неизвестное имя 'b'
2. Попробуем такой вариант на Python
a =int(input())
b = a+a
print(b)
При вводе а получим на выходе 10
Получается, что в Pacal нужно объявлять переменные в секции переменных, или в любом месте программки можно объявить переменную с поддержкою служебного слова var для PascalABC.net. 1-ый код можно переписать так, и он будет работать:
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
var b:=a+a;
writeln (b);
end.
Рузультат при введенном значении 5 равен 10
Аделина
Это правильно, если речь о необъявленной переменной. Но почаще неопределенной именуют переменную, которой не присвоили значение, т.е. неинициализированную.
Камилла Артименя
Да, основная неудача freepascal, переменнная получает место в памяти а там мусор ...
Мария
Это не беда, это абсолютно правильное поведение переменной. В С/С++ так все объекты себя водят.
Шваров
Владислав
Если программер не выполнил инициализацию - означает ему так надо было. Почему компилятор против воли инициализирует числовую переменную нулем?
Артём Шармергор
Да, наверняка это логичнее чем при объявлении переменных их автоматом инициализировать
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности
Экономика.
там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо
Русский язык.
Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.
Разные вопросы.
Сочинение на тему "Русский язык не сможет умереть!"
Математика.
Приветствую!
Меня зовут Станислав, я представляю компанию under.site.
Хотел бы предложить интересное решение
Разные вопросы.
Масса трёх одинаковых пакетов чая 180г чему равна масса
Математика.
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Облако тегов