Asplaksina
?>

Решите уравнение, где х – основание системы счисления

Информатика

Ответы

andreokiseleo69421
#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.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решите уравнение, где х – основание системы счисления
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Евгеньевич Балиловна1398
Korinchan390
ivanjeka87
jurys71242
almazsit85
shtankosoyuz1629
Olegmgu11986
Ulianev77
osandulyak
sancity997124
Михаил1121
lechic3
Magnolia200872
Иванович
oxy03214428