Given the following code char a[] = {'c', 'a', 't', '\0'}; char *p = a; while (*p != 0) { *p = *p + 1; printf("%c", *(p++)); } What will happen?
1: The code will print "d"
2: The code will print "dau"
3: The code will print "cdu"
4 (Correct): The code will print "dbu"