Как вывести адрес ячейки массива? #include
void main(){
float a[3] = {0};
for (int i = 0; i

21 Авг 2019 в 06:23
312 +1
0
Ответы
1

Это происходит из-за того, что вы пытаетесь вывести адрес ячейки массива в формате %d, который ожидает переменную типа int. Однако адреса в C представляются в виде указателей типа void *, который размером обычно равен 4 или 8 байтам в зависимости от архитектуры (32-битная или 64-битная).

Кроме того, для вывода адреса указателя корректно используйте "%p" вместо "%d" в функции printf. Вот исправленный код:

#include <stdio.h>
int main() {
float a[3] = {0};
for (int i = 0; i < 3; ++i) {
printf("%f_____%p\n", a[i], (void*)&a[i]);
}
return 0;
}
20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир