一个C语言选择题
下列叙述不正确的有:(多选)A全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区B局部变量只在本函数范围内有效,形式参数属于局部变量C局部变量如果没有被说明为静...
下列叙述 不正确 的有:(多选)
A 全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区
B局部变量只在本函数范围内有效,形式参数属于局部变量
C局部变量如果没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中
好吧 ,我自问自答了
标准答案:ABC全错
A:全局变量(不管有没有static修饰)都是在静态区的,static修饰的全局变量限制他只能在本文件中被引用,而不能被其他文件引用,A的错误在于他的前半句话,全局变量的作用域从定义的位置开始到程序结束
B:也是前半句错误,在函数的复合语句(即用大括号括起来的)中定义的局部变量只能在该复合语句内使用
C:局部变量若没有被说明为静态存储类别,如果是根本就未写存储类型名则默认存储类别是 auto ,即自动变量,存储在动态存储区。若定义存储类别是 register 类型,则存储在 CPU的寄存器上而不是内存中(动态存储区和静态存储区都是在内存中的)。 展开
A 全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区
B局部变量只在本函数范围内有效,形式参数属于局部变量
C局部变量如果没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中
好吧 ,我自问自答了
标准答案:ABC全错
A:全局变量(不管有没有static修饰)都是在静态区的,static修饰的全局变量限制他只能在本文件中被引用,而不能被其他文件引用,A的错误在于他的前半句话,全局变量的作用域从定义的位置开始到程序结束
B:也是前半句错误,在函数的复合语句(即用大括号括起来的)中定义的局部变量只能在该复合语句内使用
C:局部变量若没有被说明为静态存储类别,如果是根本就未写存储类型名则默认存储类别是 auto ,即自动变量,存储在动态存储区。若定义存储类别是 register 类型,则存储在 CPU的寄存器上而不是内存中(动态存储区和静态存储区都是在内存中的)。 展开
展开全部
这是个switch语句,当i=10时对应下面的case=10值执行,当case=9时不适合条件,所以当a=10时i++;故i=11,继续执行当i=11时,++i故i=12,继续执行default语句故i+=i相当于是i=i+i=12+12=24,故答案为D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A 全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区
这个是错的 全局变量如果不是静态的 也不在静态存储区
C局部变量如果没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中
这个也是错的局部变量不在动态存储区 不在堆上
这个是错的 全局变量如果不是静态的 也不在静态存储区
C局部变量如果没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中
这个也是错的局部变量不在动态存储区 不在堆上
追问
虽然有错,但还是给你点辛苦分吧,请看上面我写的标准答案昂
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d答案,原因很简单,i=10满足第case
10:,由于没有跳出语句,它为顺序执行下面的语句,一直当遇到}时结束,此时i=12+12=24
10:,由于没有跳出语句,它为顺序执行下面的语句,一直当遇到}时结束,此时i=12+12=24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d答案,原因很简单,i=10满足第一个,由于没有跳出语句,它为顺序执行下面的语句,一直当遇到}时结束,此时i=12+12=24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看起来好像都对。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询