|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int a[5]={1,2,5,6,9};
int *name={&a[0],&a[1],&a[2],&a[3],&a[4]};
int i;
int **no;
for(i=0;i<5;i++)
{
no=name+i;
printf("%d\n",*no); //问题在这里,现在我这样可以正常打印 ,课本上需要再加上一个*号,而我加上之后就会报错。
}
return 0;
}
本帖最后由 jackz007 于 2019-5-18 14:31 编辑
这样定义指针数组是错误的
- int * name = {& a[0] , & a[1] , & a[2] , & a[3] , & a[4]} ;
复制代码
应该这么写才正确
- int * name[] = {& a[0] , & a[1] , & a[2] , & a[3] , & a[4]} ;
复制代码
试一下改过的代码呢?
- #include <stdio.h>
- int main()
- {
- int a[5] = {1 , 2 , 5 , 6 , 9} ;
- int * name[] = {& a[0] , & a[1] , & a[2] , & a[3] , & a[4]} ;
- int i ;
- int ** no ;
- for(i = 0 ; i <5 ; i ++) {
- no = name + i ;
- printf("%d\n" , ** no) ;
- }
- }
复制代码
|
|