可以解释下各选项的原因吗

6、下列操作正确的是( )

char ch[]="good",*s=ch, *p="abc";
A. scanf("%s",p);
B. scanf("%c"&s);
с. *s=ch;
D. *s='c';

因为s是指向字符串的指针,%s是输出字符串,%c是输出一个字符
所以正确答案选C,*s=ch表示首地址的值,即'g'
AB中scanf("%s", p)则正确