早教吧 育儿知识 作业答案 考试题库 百科 知识分享

若有定义和语句:chars[10];s="abcd";printf("%d\n",s);则结果是()A.输出abcdB.输出aC.输出adcbD.编译不能通过

题目详情
若有定义和语句:char s[10]; s="abcd"; printf("%d\n",s);则结果是( )A. 输出 abcd B. 输出 a C. 输出 adcb D. 编译不能通过
▼优质解答
答案和解析
D 原因是 char s[10]; 这里的s是一个数组包含10个char的首地址。 它只可以在初始化的时候用 char s[10]="abcd"; 或 char s[]="abcd"; 或 char *s="abcd"; 上面的写法都是正确的,但是都是初始化的时候使用, 就是不可以,在后面的赋值语句中使用 s="abcd"; 这个写法就不正确。