int main() { char s[] = "china"; char *p = s; printf("%d", sizeof(s)); printf("%d", strlen(p)); getchar(); return 0; }
结果是6和5
计算数组的长度sizeof();
计算指针指向的字符串的长度 strlen();
赋值等运算,所以答案A是错误的:数组s中的内容是一字符串,而指针变量p中的内容
是地址,两者不可能相等,故答案B是错误的:数组s的大小为6(包含’\0’),而p所指向
的字符串长度是5(不包含’\0’),所以C也是错误的。p指向数组s的第一个元素,所以*p
与 s[0]的值都为字符 ’c’