#include<stdio.h>
void main()
{
int a[]= {10,20,30,40,50,60};
int *p[]= {a,a 1,a 2,a 3,a 4,a 5};
int **pp=p;
pp ;
printf("%d,%d,%d", pp-p,*pp-a, **pp);
*pp ;
printf("%d,%d,%d", pp-p, *pp-p, *pp-p);
*pp;
printf("%d,%d,%d", pp-p, *pp-a, **pp);
**pp;
printf("%d,%d,%d", pp-p, *pp-a, **pp);
}
它顯示此錯誤:
invalid operands to binary - (have 'int *' and 'int **')
printf("%d,%d,%d", pp-p, *pp-p, *pp-p);
invalid operands to binary - (have 'int *' and 'int **')
printf("%d,%d,%d", pp-p, *pp-p, *pp-p);
uj5u.com熱心網友回復:
*pp-p,您不能int**從 an 中減去 a ,int*因為它們不是兼容的型別。應該是pp-p。
另請注意,為了使用 printf 列印地址,您應該將指標轉換為void*使用%p.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/375256.html
上一篇:對一組指標使用std::less
