f(){
 char a[8]="HOGE";
 puts(a);
}

↑これができるなら
↓これもできて然るべきなんじゃねえの?

f(){
 char a[8];
 a="HOGE";
 puts(a);
}

まあ表記としては
 a={"HOGE"};
のようにでもするべきだが。
これは前者でも
 char a[8]={"HOGE"};
こうあるべきだけどな。