编写一个程序,利用字符数组实现两个字符串的比较。(注意不能使用字符串比较函数strcmp())

2025-02-23 11:25:22
推荐回答(2个)
回答1:

如果输入两个字符串abcd和abcde,p1指向abcd,那么当p1指向‘d’后一个位置(即为空字符时) p2指向的是字符e,此时while(*(p1+i)==*(p2+i))不能满足,所以就轮不到if(*(p1+i++)=='\0') ,从而也就不会返回0了。

回答2:

不能孤立看这一行。你说的情况不可能发生,因为这一行总是在两个字符长度相等时才起作用,否则while(*(p1+i)==*(p2+i))中的控制条件已不满足而退出了,所以在p1、p2长度不等时不可能“p1指向‘d’后一个位置”。