Мой учебник имеет вопрос, который спрашивает, что будет на выходе будет в следующем фрагменте кода:Почему это вывод указателя?
#include<stdio.h>
int main()
{
int arr[3] = {2, 3, 4};
char *p;
p = arr;
p = (char*)((int*)(p));
printf("%d, ", *p);
p = (int*)(p+1);
printf("%d", *p);
return 0;
}
Параметры:
A. 2, 3
B. 2, 0
С. 2, мусоропровода значение
Д. 0, 0
Согласно учебнику, ответ B
, но я смущен - может кто-нибудь объяснить почему?
Итак, что не так? Чего ты ожидал? Что вы сами пытались ответить? Что вы любите в книге C? Что конкретно ** об этом вы не понимаете? Вы пробовали ** что-нибудь **, прежде чем спрашивать? – Olaf
С таким типом вопросов может быть очень сложно определить, что именно никто не понимает, и еще труднее выяснить, какие ключевые слова искать. Изучение всего языка C, очевидно, по-прежнему будет отвечать на их вопрос, но кажется, что это не пропорционально. * Что вы должны сделать, по вашему мнению? –