指针的加法操作我们见过很多,但是减法操作遇到的好像很少。
有这么一个笔试题:
int a[] = {1, 2, 3}; int *p1 = &a[0]; int *p2 = &a[2]; printf("%ld ", p2 - p1);一个数组,两个指针,指针p1指向数组第一个元素,指针p2指向数组第三个元素,问p2-p1的结果是多少?
root@Turbo:test# ./test 2 root@Turbo:test#结果是2。
printf("%lu ", (int)p2 - (int)p1); printf("%lu ", (char *)p2 - (char *)p1);
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !