ポインタで躓いてます。以下のやると、b[3]まで出力されちゃうんですが
なぜなんでしょう。よろしくお願いします。

#include <stdio.h>
int main(void) {
char *a = "abcde";
char b[3] = "fgh";
while (a != "\0") {
printf("%s\n", a);
*a++;
}
}