看着:假设你的指针*P指向的字符串是“computer”
指针*R指向的字符串是“mt”
第一次循环发现字符“C”跟"M"不一样,所以跳过if(*r==*p)这句话,直接执行了 p++;这句话
然后第二次循环又开始了,这时P指向下一个字符O,然后O还是跟M比较,发现不一样,所以跳过if(*r==*p)这句话,直接执行了 p++;这句话
第三次循环了,这时P指向字符M,让M跟M比较,发现一样了,于是指向IF语句里面的内容
指针R++,这时指针R指向了下一个字符T,然后结束IF语句,执行P++这句话
第四次P指向字符“P”,对比无果
第五次P指向字符"U“,对比无果
第六次P指向字符"T“,。跟指针R对比一致,执行IF语句,让R指针指向下一个字符"\0",这时又满足了嵌套IF语句 if(*r=='\0')的条件,所以开始执行语句内容
N++;
R=T;
然后执行语句P++;
这是开始第七次循环 注意,这时的P指针指向字符E,R指针指向字符M,对比未果
第八次P指针指向字符R,R指针指向字符M,对比未果
第九次,P指针指向"\0",循环结束了。。。。。
打字不容易,给分吧骚年
指针数组中的每一个元素均为指针,即有诸形如“*ptr_array[i]”的指针。 由于数组名本身也是一个指针,因此指针数组中的元素亦可以表示为“*(*(ptr_array+i))”。又因为“()”的优先级较“*”高,且“*”是右结合的,因此可以写作**(ptr_array+i)。 由于数组元素均为指针,因此ptr_array[i]是指第i个元素的指针。