写出下面程序的输出结果,并麻烦详细解释一下

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:46:53
void main()
{
int a []={5,8,7,6,2,7,3};
int y,*p=&a[1];
y=(*--p)++;
printf(“%3d ”,y);
printf(“%3d”,a[0]);
}

void main()
{
int a []={5,8,7,6,2,7,3}; /*定义了一个int数组a,初始化数据为[]={5,8,7,6,2,7,3}*/
int y,*p=&a[1];/*定义一个int变量y,一个int指针变量p,p指向a[1]元素*/
y=(*--p)++; /*使p自己减1,然后使其指向的值先赋值给y,在让其指向的值加一*/
printf(“%3d ”,y); /*3个字符位置输出y的值*/
printf(“%3d”,a[0]); /*3个字符位置输出a[0]的值*/
}

结果为:
5 6