#include<stdio.h>
int main()
{
int a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 };
int* p;
for (p = a[0]; p < a[0] + 12; p++)
{
if ((p - a[0]) % 4 == 0)printf("\n");
printf("%4d", *p);
}
printf("\n");
return 0;
}
以上为我敲的代码,为小白解释下,首先基本的#include<stdio.h>
int main()
{
return 0;
}
以上是基本套路,
首先定义数组为三行四列赋值;
然后定义指针变量int* p;
我是这样理解把int看成是一个整体,p就是指向整型的变量或者是数组,而最令人不懂的是下面的循环
首先把p=a[0]把a[0][0]的地址传递个指针变量p;
a[0]+12等同于a[2][3]后的那一个元素,但是a[2][3]是下标数最后一个了因此循环结束;
里面的判断语句(p-a[0])%4==0;
为四个一个空格的条件;
然后输出p表示的是数组里的元素
%4d是格式控制字符串,表示输出占4个字符的十进制整数,右对齐,不够用空格补齐。 4是输出最小宽度,用于控制显示数值的宽度,是一个可选的指定最小值字段宽度的十进制数字字符串。
·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
谢谢大家 观看了,第一次写,有不好的地方请体谅