why does this code produce a bus error?
#include <stdio.h>
#include <string.h>

int main() {
    char* dest = "123456789";
    char* src = "abc";
    strncpy(dest, src, 5);
    printf("%s\n", dest);
    return 0;
}