Каким был результат этой программы?

У меня есть фрагмент кода, написанный на C, в котором выполняется некоторая арифметика с указателями. Я хотел бы знать, как получается такой результат?

#include <stdio.h>  
int main()
{
    char arr[] = "gookmforgookm";
    char *ptr1 = arr;
    char *ptr2 = ptr1 + 3;
    printf ("ptr2 - ptr1 = %d\n", ptr2 - ptr1);
    printf ("(int*)ptr2 - (int*) ptr1 = %d",  (int*)ptr2 - (int*)ptr1);
    getchar();
    return 0;
}

Результат ниже:

ptr2 - ptr1 = 3  
(int*)ptr2 - (int*) ptr1 = 0
6
задан David Grayson 14 December 2011 в 07:50
поделиться