我正在写一个程序,模拟乌龟和野兔之间的比赛.
它们都沿着由70个元素组成的两个不同的一维数组移动,当然,由于它们向前和向后移动,它们可能最终会超过元素0或69.
我想使用指针比较来判断它们是否这样做,所以问题来了:
我知道,如果我们比较指向同一数组元素的指针,那么指针比较是合法的,因为否则我们不能确定它们在内存中的位置; 尽管如此,假设我们有:
char arr[70];
char *p1 = &arr[0]
char *p2 = &arr[69]
我们不能确定p1 > p1 - 3
和p2 < p2 + 6
,因为在本例中,地址将是连续的吗?我们肯定知道什么是第一,什么不是,对吧?
我做了各种测试,看起来是这样的,但我想确定一下.