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,&a[i]);

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();

}

程序执行结果:

a[0]的地址是6618588

a[1]的地址是6618592

a[2]的地址是6618596

a[3]的地址是6618600

a[4]的地址是6618604

a[5]的地址是6618608

a[6]的地址是6618612

a[7]的地址是6618616

a[8]的地址是6618620

a[9]的地址是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

相关推荐
代码中介商8 小时前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
爱编码的小八嘎11 小时前
C语言完美演绎9-12
c语言
Navigator_Z12 小时前
LeetCode //C - 1031. Maximum Sum of Two Non-Overlapping Subarrays
c语言·算法·leetcode
leoufung18 小时前
LeetCode 30:Substring with Concatenation of All Words 题解(含 C 语言 uthash 实现)
c语言·leetcode·c#
爱编码的小八嘎18 小时前
C语言完美演绎9-6
c语言
SunnyByte19 小时前
线性表——单链表的增删查改操作
c语言·单链表
SunnyByte19 小时前
线性表——双向链表
c语言·链表
jimy119 小时前
C 语言的 static 关键字作用
c语言·开发语言·算法
handler0120 小时前
算法:图的基本概念
c语言·开发语言·c++·笔记·算法·图论
木木_王20 小时前
嵌入式Linux学习 | 数据结构 (Day03)顺序表与单链表 超详细解析(含 C 语言实现 + 作业 + 避坑指南)
linux·c语言·数据结构·学习