有以下程序#include main() { int c[6]={10,20,30,40,50,60},*p,*s; p=a; s=&c[5]; printf("%d\#includemain(){ int c[6]={10,20,30,40,50,60},*p,*s;p=a; s=&c[5];printf("%d\n",s-p);}为什么答案是5?不是50么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 19:37:07
有以下程序#include main() { int c[6]={10,20,30,40,50,60},*p,*s; p=a; s=&c[5]; printf(

有以下程序#include main() { int c[6]={10,20,30,40,50,60},*p,*s; p=a; s=&c[5]; printf("%d\#includemain(){ int c[6]={10,20,30,40,50,60},*p,*s;p=a; s=&c[5];printf("%d\n",s-p);}为什么答案是5?不是50么?
有以下程序#include main() { int c[6]={10,20,30,40,50,60},*p,*s; p=a; s=&c[5]; printf("%d\
#include
main()
{ int c[6]={10,20,30,40,50,60},*p,*s;
p=a; s=&c[5];
printf("%d\n",s-p);
}为什么答案是5?不是50么?

有以下程序#include main() { int c[6]={10,20,30,40,50,60},*p,*s; p=a; s=&c[5]; printf("%d\#includemain(){ int c[6]={10,20,30,40,50,60},*p,*s;p=a; s=&c[5];printf("%d\n",s-p);}为什么答案是5?不是50么?
1、p=a; 应该是 p=c;
2、s和p都是int类型的指针,二者相减是数组c第0个元素与第5各元素的下标之差(而不是元素值之差),当然应该是5.