(Отказ от ответственности: другой ответ показывает, почему вы получаете 25185
, этот показывает, как вы можете достичь своей цели.)
Если вы хотитечтобы вывести значение ASCII a[0]
(которое, похоже, вы пытаетесь сделать с помощью int *p=a;
), сообщает printf()
, что вы хотите передать byte
и использовать char*
(указатель на символ, который является байтом в C), чтобы указать на него:
int main (int arg, char **argv)
{
char a[5] = {'a','b'};
char *p =a; // points to a char, ie a byte
printf("%hhx\n", *p); // tells to printf it's a byte type
return 0;
}