A) char st[2][2]={"CDEFGHI"}; 初始化赋值超出了数组容量
B) char s[3]={A,B,C}; 作为字符串,少一个结束符的位置 另,这里应该是英文的单引号才合理,如果不是英文单引号,则是严重错误!
C) char *s="ABCDE"; 正确 定义字符指针,指向一个常量串位置 (从语法上这是绝对正确的,但,这算不算给字符串赋值操作,待商榷)
D) char *s; scanf("%s",*s) //s是指针,没有指针定存储位置,直接引用野指针,是错误的,会出故障
综上,C正确
应该是B,但是B中字符ABC左右应该是引号,是不是打错了,其他的都不对