设有语句static int a[8]={2,5,4,7};则表达式a[2]-a[5]的值是多少?
6个回答
展开全部
4
原因:a[8]的数组的第一个元素是用a[0]表示,当用static int a[8]={1,2,3,4,5,6}时:a[0]=1,a[1]=2,a[6]=0,a[7]=0由于6以后你没赋初值,所以系统自动给它赋0。
C与C++#的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
扩展资料:
1、引入static:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉。
2、static的作用:static静态变量声明符。在声明它的程序块,子程序块或函数内部有效,值保持,在整个程序期间分配存储器空间,编译器默认值0。
3、什么时候用static:需要一个数据对象为整个类而非某个对象服务,同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部。
参考资料来源:百度百科-static
展开全部
结果是4
首先是static,静态变量,当你不赋初值时,系统自动赋为0
然后,a[8]的数组的第一个元素是用a[0]表示,当你用static int a[8]={1,2,3,4,5,6}意思是说,a[0]=1,a[1]=2……,a[6]=0,a[7]=0……(6以后你没赋初值,所以系统自动给它赋0)
所以这个题目中a[2]=4,a[5]=0
首先是static,静态变量,当你不赋初值时,系统自动赋为0
然后,a[8]的数组的第一个元素是用a[0]表示,当你用static int a[8]={1,2,3,4,5,6}意思是说,a[0]=1,a[1]=2……,a[6]=0,a[7]=0……(6以后你没赋初值,所以系统自动给它赋0)
所以这个题目中a[2]=4,a[5]=0
更多追问追答
追问
还是不懂,是自动赋值法
是怎么自动赋值法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static为静态变量,所以赋值的第一个元素为a[0],没有赋值的都为0,所以a[0]=2,a[1]=5,a[2]=4,a[3]=7,a[4]=0,a[5]=0。则a[2]-a[5]=4-0=4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先得明确一点,c++中的数据是从0开始确定第一个数的,那么这里边的a[0]=2,a[1]=5,a[2]=4,a[3]=7,a[4]=a[5]=a[6]=a[7]=0,所以结果a[2]-a[5]=4-0=4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[2]是4,a[5]是0。
更多追问追答
追答
结果是4。
追问
为什么 a[2]是4,a[5]是0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询