C语言设char *S="china";则printf("%s,%c,%c\n",s,*s,s[3]);的输出是?

设char *S="china";则printf("%s,%c,%c\n",s,*s,s[3]);的输出是?

A.china,c,n
B.china,china,i
C.c,c,n
D.china,china,n
选择哪个,麻烦在详细说明下。

第1个回答  2009-02-27
A
原因去 ..第一个%s 所以输出肯定是字符串
第二个是%c 输出只能是字符,,*s = c 所以输出c
第三个%c 输出也是支付, s[3] = n;

所以输出的是 china, c,n
第2个回答  2009-02-27
A~~~
s不用说是整个字符串
*s默认指向下表为0的第一个字符~~
s[3]指向的是第四个字符~~数组下标从0开始的~
第3个回答  2009-02-27
A
第4个回答  2009-02-27
a
第5个回答  2009-02-27
应该是b吧
相似回答