#include<stdio.h>
int main()
{
double a[2],*p,*q;
p=&a[0];
q=p+1;
printf("%d\n",q-p);//q和p之间数组元素的个数
printf("%d\n",(int)q-(int)p);//q和p之间数组元素的存储单元数
//强制转换,给出两个double型数组元素所在的内存首地址
return 0;
}
//1
//8
#include<stdio.h>
int main()
{
int i,a[10],*p;
long sum=0;
printf("enter 10 integers: ");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
//数组方法求和
for(i=0;i<10;i++)
sum=sum+a[i];
printf("sum=%ld\n",sum);
//指针方法求和
sum=0;
for(p=a;p<=a+9;p++)//指针变量p指向基地址a[0],p++指向下一个变量的内存地址a[1]
sum=sum+*p;
printf("sum=%ld\n",sum);
sum=0;
for(p=a;p<&a[10];p++)//p连续取的值就是&a[0],&a[1]...
sum=sum+*p;
printf("sum=%ld\n",sum);
return 0;
}
//enter 10 integers: 10 9 8 7 6 5 4 3 2 1
//sum=55
//sum=55
//sum=55