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

相关推荐
坐看风云变幻7 分钟前
《嵌入式工程师的软硬件修仙之路》第 2 期|C 语言筑基:指针与内存模型
c语言·开发语言
爱读书的小胖21 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
Code_Solitude21 小时前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
鸽鸽程序猿1 天前
【项目】【在线判题系统】c端:竞赛报名
c语言·开发语言
H.莓飛1 天前
【Linux】自主 Shell
linux·运维·服务器·c语言·开发语言·visual studio
爱读书的小胖1 天前
Codewars:Last digit of a large number(C)解题分析
c语言·开发语言·r语言
想做小南娘,发现自己是女生喵1 天前
第二周学习文档 Linux C 文件操作
linux·c语言·学习
Bluetooth7301 天前
c语言变量的存储类别
c语言
lhbweilai1 天前
分析FreeRTOS内核对象API的源码实现(四)
c语言·stm32·单片机
inrichtt1 天前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件