Возможный дубликат:
Исправить спецификатор формата для печати указателя (адреса)?
При печати указателя с помощью printf
необходимо ли указывать указатель на void *
? Другими словами, в коде типа
#include <stdio.h>
int main() {
int a;
printf("address of a = %p\n", &a);
}
должен ли аргумент действительно быть (void *) &a
? gcc
, похоже, не дает никаких предупреждений, когда явное приведение не производится.