В каких строках содержатся ошибки (компиляции, времени выполнения, undefined behavior), если они есть?

    char a[] = "123";        //1 
    char b[5] = "123";       //2 
    const char *c = "123";   //3 
 
    a[3] = '3';              //4 
    b[4] = '3';              //5 
    c[2] = '5';              //6 
// 1
// 2
// 3
// 4
// 5
// 6