C语言完美演绎7-9

/* 范例:7-9 */

#include <stdio.h>

void main()

{

int a\[\]={1,2,3,4,5,6,7,8,9,10};

int *ptr1 = a;

int *ptr2 = a+9;

for(int i=0;i<10;i++)

printf("\na%d的地址是%d",i,&ai);

printf("\nptr1是%d *ptr1是%d",ptr1,*ptr1);

printf("\nptr2是%d *ptr2是%d",ptr2,*ptr2);

printf("\nptr2-ptr1=%d",ptr2-ptr1);

ptr1++;

if (ptr1 < ptr2) /* 以指针变量作比较的动作 */

printf("\nptr1 < ptr2");

if (ptr1 > ptr2) /* 以指针变量作比较的动作 */

printf("\nptr1 > ptr2");

printf("\nptr1是%d *ptr1是%d",ptr1,*ptr1);

ptr2=ptr2-8; /* 以指针变量作减法的动作 */

printf("\nptr2是%d *ptr2是%d",ptr2,*ptr2);

if (ptr1 == ptr2) /* 以指针变量作比较的动作 */

printf("\nptr1 == ptr2");

printf("\nptr1-ptr2=%d",ptr1-ptr2);

getchar();

}

程序执行结果:

a0的地址是6618588

a1的地址是6618592

a2的地址是6618596

a3的地址是6618600

a4的地址是6618604

a5的地址是6618608

a6的地址是6618612

a7的地址是6618616

a8的地址是6618620

a9的地址是6618624

ptr1是6618588 *ptr1是1

ptr2是6618624 *ptr2是10

ptr2-ptr1=9

ptr1 < ptr2

ptr1是6618592 *ptr1是2

ptr2是6618592 *ptr2是2

ptr1 == ptr2

ptr1-ptr2=0

相关推荐
不灭的黄金瞳1232 小时前
预处理详解
c语言
小雪崩3 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
yiqiefeimeng3 小时前
C语言指针难倒90%人?买房比喻让你瞬间开窍
c语言·学习·编程·指针·比喻
caimouse4 小时前
ReactOS 窗口系统分析(5):可见区域与窗口 DC — vis.c + windc.c
c语言·开发语言
_Narcissus_5 小时前
动态规划初探(含完整代码实现)
c语言·数据结构·c++·算法·动态规划·背包问题·最短路径
Cerman6 小时前
QEMU启动OVMF shell超时分析
c语言·windows·经验分享
_Narcissus_7 小时前
枚举和模拟算法笔记
c语言·数据结构·c++·笔记·算法·模拟·枚举
Fa_Mian_Tuan8 小时前
最小生成树之Kruskal算法(超详细原理+完整可运行C语言代码)
c语言·开发语言·数据结构·笔记·算法·图论
老当益壮梁奶奶9 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-2299 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习