关于字符串赋值有关问题

关于字符串赋值问题?
下面能正确进行字符串赋值运算操作的是()  
A)char   s[5]={ "ABCDE "};  
B)   char   s[5]={ 'A ', 'B ', 'C ', 'D ', 'E '};  
C)   char   *s;s= "ABCDE ",  
D)   char   *s;char   a;scanf( "%s ",&s);  

答案选了C,对比A与B,偶觉得B也是正确的,至少我还没找到B错在哪里?高手给看一下呢!


------解决方案--------------------
B项即使补足空间,也只是进行初始化操作,
初始化不像赋值运算可以重复进行