Вам дан следующий код на языке c. int* a = 71; a = a + 1; printf("%d\n", a); что выведет такая программа?
124
398
Ответы на вопрос:
#include < stdio.h> int main(){ int* a = 71; a = a + 1; printf("%d\n", a); } да, программа работает и выводит 75. компилятор дает : warning: initialization makes pointer from integer without a cast [enabled by default] int* a = 71; ^ в языке с инициализация указателя из целого числа без явного вызывает сообщение о . его можно обойти, записав int* a = (int*) 71; само значение 75 объясняется просто: указатель, имеющий значение 71, при добавлении 1 наращивается не на 1, а на 1, умноженную на длину указателя (4 байта для integer), поскольку именно так реализуется арифметика указателей. 71+4=75.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ткач208.03.2021 03:44
-
мама103627.08.2021 18:00
-
alisha15sherban16.10.2022 16:14
-
diana1717104.03.2023 00:52
-
Ididhhxj03.10.2020 09:07
-
trinadsyear04.06.2020 09:06
-
Айдан123116.03.2023 04:02
-
DASGAMER116.03.2022 16:40
-
LuxAeterna11.01.2022 03:59
-
mur18109.05.2023 20:51
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.