Endereços de dois ponteiros de caracteres para literais de string diferentes são os mesmos

#include<stdio.h>
#include<string.h>

int main()
{
    char * p = "abc";
    char * p1 = "abc";
    printf("%d %d", p, p1);
}

Quando imprimo os valores dos dois ponteiros, está imprimindo o mesmo endereço. Por quê?