首页 > 试题广场 >

以下叙述中不正确的是?

[单选题]
以下叙述中不正确的是
  • 在不同的函数中可以使用相同名字的变量
  • 函数中的形式参数是局部变量
  • 在一个函数内定义的变量只在本函数范围内有效
  • 在一个函数内的复合语句中定义的变量在本函数范围内有效
推荐
D
自动变量的作用域仅限于定义该变量的个体内。在函数中定义的自动变量,只在该函数内有效。在复合语句中定义的自动变量只在该复合语句中有效。自动变量属于动态存储方式,只有在使用它,即定义该变量的函数被调用时才给它分配存储单元,开始它的生存期。函数调用结束,释放存储单元,结束生存期。因此函数调用结束之后,自动变量的值不能保留。在复合语句中定义的自动变量,在退出复合语句后也不能再使用,否则将引起错误。
编辑于 2015-02-04 15:50:36 回复(1)
答案:D
在一个函数内的复合语句中定义的变量只在该复合语句内有效
for(int i=0;i<10;i++){}
这里的变量 i 只在for循环内部有效,出了for循环就无效了
编辑于 2015-01-15 18:09:11 回复(1)
C、静态局部变量的作用域是函数内;生存周期是到整个程序结束
D、在复合语句中定义的自动变量只在该复合语句中有效
发表于 2016-08-30 19:48:16 回复(0)
D是叙述不正确的。
A就好比是两个班级里可以有相同名字的同学依然不会有问题。
B形式参数是指你声明函数以及创建函数时参数列表里的参数,用来接收实际参数,也就是被赋值,包括传值赋值,传址等赋值方式。
局部变量是指声明在函数里的变量,它的生存周期是和它所在的函数体一致的。
例如:
void divide(double d){};
d为形式参数。
调用时
divide(20.0);
20.0为实际参数
可见 函数中的形式参数是局部变量(d的形式参数是随着它所在的函数生命周期一致的)
C在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。
D与C一个道理,在复合语句中有效。所以错误。
发表于 2018-05-03 08:47:28 回复(0)
那C也说不通啊,static局部变量存储在静态区,作用域直到程序结束啊
发表于 2015-08-30 16:17:41 回复(3)
静态成员变量在类的函数里面都可以用,C有问题
发表于 2018-03-17 18:24:53 回复(0)
很想问C我static修饰了你还只在本函数有效?!
发表于 2019-10-15 10:25:58 回复(0)
在一个函数内的复合语句中定义的变量在该复合语句中有效

发表于 2019-10-09 19:50:25 回复(0)
在复合语句中定义的自动变量只在该复合语句中有效
发表于 2018-05-25 10:41:55 回复(0)
在一个函数内的复合语句中定义的变量在该复合语句中有效;
把多个语句用括号{}括起来组成的一个语句称复合语句。
发表于 2018-05-10 11:04:03 回复(0)
函数体内定义的静态变量只有第一次运行函数的时候被创建,并且在函数结束的时候不会消亡
发表于 2017-11-08 22:35:58 回复(0)
复合语句跟汉语中的成语一样,是用大括号阔起来的一堆语句
发表于 2017-08-28 16:44:06 回复(0)
那C也说不通啊,static局部变量存储在静态区,作用域直到程序结束啊
发表于 2017-07-28 11:48:10 回复(0)
c是说在函数内有效,是指的可访问,如果是static变量,也只能是说明这个变量不随函数调用完成而销毁,也就是说变量空间一直存在,但是在函数外,没有访问域的权限。(望指正....)
发表于 2016-08-03 10:09:41 回复(1)
C确实是有一些问题的,如static变量
发表于 2015-09-09 21:23:55 回复(0)
在一个函数内的复合语句中定义的变量只在该复合语句内有效
发表于 2015-07-17 15:02:04 回复(0)
我觉得D不对
发表于 2015-01-05 14:51:39 回复(0)