#include<stdio.h>
int main()
{
int num[]={1,2,3,4,5,6,7,8,9},*p,*q,temp;
int sum,i,j;
p=num;
q=&num[6];
for(i=0;i<3;i++)
{
temp=*p;
*p=*q;
*q=temp;
p++,q++;
}
p=num;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d",*p);
q++;
printf(" ") ;
}
printf("\n");
}
for(i=0;i<9;i+=3)
{
printf("%d ",num[i]*num[i+1]*num[i+2]);
}
return 0;
}
下面双层for循环里的q++应该是p++
修改后运行结果:
22行你输出 * p,但p在循环中一直没有改变,所以一直输出数组的第一个元素7,改成 *p++
看了一遍,结果跟代码一致,又哪里不懂吗
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!