C语言指针输出一个3*4的二维数组

#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是输出最小宽度,用于控制显示数值的宽度,是一个可选的指定最小值字段宽度的十进制数字字符串。

·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
谢谢大家 观看了,第一次写,有不好的地方请体谅

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值