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

相关推荐
范纹杉想快点毕业2 小时前
C语言全能实战教程
c语言·开发语言
ZK_H4 小时前
半导体工艺流程
java·c语言·开发语言·计算机网络·金融
网域小星球4 小时前
C语言从0入门(八)|函数基础:封装、调用与参数传递精讲
c语言·开发语言
网域小星球4 小时前
C语言从0入门(十)|二维数组详解与矩阵实战
c语言·算法·矩阵·二维数组·数组遍历
网域小星球4 小时前
C 语言从 0 入门(十五)|综合小项目:菜单交互与简易功能实现
c语言·开发语言·交互
网域小星球4 小时前
C 语言从 0 入门(十六)|动态内存管理:malloc /free/calloc /realloc 精讲
c语言·开发语言·free·malloc·动态内存
chh5634 小时前
C++--内存管理
java·c语言·c++·windows·学习·面试
Proxy_ZZ05 小时前
打造自己的信道编码工具箱——Turbo、LDPC、极化码三合一
c语言·算法·信息与通信
无限进步_5 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github