This is in C. I am learning C and this is an example in a slide from class.
int main(int argc, char *argv[]) {
    int a = 5, b = 10, c;
    int *p = &a, *q = &b;
    c = p - q;
    printf("%d", c);
    return 0;
}
The output when I run it is 3 and I don't understand why. It seems like since it is using & it would subtract to memory addresses and the output would be a memory address to -5.
 
     
     
    