求大神写一下下面C++程序要怎么理解

问题描述:

#include
void main()
{
int x[3][2]={1,2,3,4,5,6},*p,i;
p=&x[0][0];
for(i=0;i<6,i++)*(p+i)=*p;
cout<<*p+3;
}

问题解决的话,请点下采纳

for循环里面是分号,你写成了逗号。

#include <iostream>

using namespace std;


int main()
{
int x[3][2]={1,2,3,4,5,6},*p,i;
p=&x[0][0];
for(i=0;i<6;i++)
    *(p+i)=*p;
cout<<*p+3;
}

运行结果
4
这个程序将x全部设置为1
p+3就是x[0][0] +3,因为x[0][0]=1,所以结果就是4
实际上
for(i=0;i<6;i++)
(p+i)=*p; 这个没有用