字符串比较 C语言

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:12:58
比如定义字符型指针数组*P[],将字符串的首地址赋给数组指针的各元素,如果用strcmp函数比较 strcmp(P[i]>P[k])的时候,他们是逐个元素比较,
把字符串的首地址付给给P,比较的时候不用strcmp函数变焦,是*P[i]和*P[k]之间比较,他们比较的是第一个元素,为什么?

声明为 char *P[],在声明里表示P是指针数组。

语句里 *P[i] 外型与声明里相似,但意义不同, 语句里表示是指向的char 值。
char *P[] 动态分配地址后可以看成 char p[行数][列数];
语句里 不带星号的 P[i] 才是 字符串,它相当 p[i行]

之所以产生疑问,是因为 C语言里 形式逻辑 不成立。同一张面孔(出现在声明和出现在语句)却是不同的人。

你需要提高你的汉语表达能力了,没看懂你的问题