由于指针在定义的时候可以写成:int *p=a+5,*q=NULL;
在赋值的时候:*q=*(p+5);修改为-->q=(p+5);
而这里的*表示指针运算符..所以被赋值的指针变量前不能再加“*”说明符,如果这样导致错误..
所以 [blueboy82006]这程序运行是对的...
#include "stdio.h"
int main(void)
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=a+5,*q=NULL;
q=p+5; /*注意:被赋值的指针变量前不能再加“*”说明符,如写 "*p=a" 表示错误,而因写成 "p=a" 表示正确
printf("%d,%d \n",*p,*q);
getchar();
}
有可能我写的太啰嗦了....呵呵.