64,654
社区成员
发帖
与我相关
我的任务
分享
int main(void)
{
int a[3][4] = {1,2,3,4,5,6,6,7,8,9,11,22};
for(int i = 0; i < sizeof(a)/sizeof(a[0][0]); i++)
printf(" %d ", *(*a+i) );
return 0;
}
如果是这样呢,int a[][3]={1,2,3,4,5,6,7,8,9};
你4哪里来啊,直接while(j<sizeof(a)/sizeof(int))
不是更好,更专业。
#include<iostream>
using namespace std;
int main()
{
int a[2][2][2]={1,2,3,4,5,6,7,8};
int *q=(int*)a;
for (int i=0;i<8;i++)
{
cout<<q[i]<<endl;
}
system("pause");
}
//用do-while循环可以实现,充分利用数组首地址。。。
#include <iostream>
int main()
{
using std::cout;
using std::endl;
int a[3][3]={1,2,3,4,5,6,7,8,9};
int j=0;
do
{
cout<<*(a[0]+j)<<' ';
j++;
}
while(j<sizeof(a)/sizeof(int));
return 0;
}
程序结果:1 2 3 4 5 6 7 8 9 请按任意键继续. . .
一个行别的也行,用while循环的话,先在循环外输出j=0这种情况。
//用do-while循环可以实现,
#include <iostream>
int main()
{
using std::cout;
using std::endl;
int a[3][3]={1,2,3,4,5,6,7,8,9};
int j=0;
do
{
cout<<*(a[0]+j)<<' ';
j++;
}
while(j<sizeof(a)/sizeof(int));
return 0;
}