C++程序运行结果问题: (1). 静态成员的生存周期只在函数体内吗 (2). main()函数体

C++程序运行结果问题:
(1). 静态成员的生存周期只在函数体内吗
(2). main()函数体先调用的other()函数,然后才进入到第一次的输出 i a b c, 但是程序运行结果却是最后执行的other()调用输出
(3). main() 函数有3次other()调用,分别是:
void other(void);
other();
other();
所以正常会输出3次other ()里面的命令行,但是结果只有两次,是为什么呢?
(4). i为全局函数,经过三次other()和i=i+10后,最终为17。a在other()中是静态成员,如果(1)成立,那么经过3次other()后,它的值应为5,而不是4。运行第二次other(),应为8+5=13,第三次后13+5=18,而不是5。
望高人指点,满意后追加悬赏

1、静态变量的生存周期是整个程序的运行期。静态变量的初始值,只在第一次声明和初始化时起作用,因此,a在other()函数第一次调用时=2,自程序运行第一次other()以后,不再执行这个a=2的初始化操作。
2、void other(void);称作 函数声明,并不是函数调用。函数调用是直接other();所以,调用了2次而不是3次。
其他的问题,由1,2可以推出结果。
温馨提示:内容为网友见解,仅供参考
无其他回答

...1). 静态成员的生存周期只在函数体内吗 (2). main()函数体_百度...
1、静态变量的生存周期是整个程序的运行期。静态变量的初始值,只在第一次声明和初始化时起作用,因此,a在other()函数第一次调用时=2,自程序运行第一次other()以后,不再执行这个a=2的初始化操作。2、void other(void);称作 函数声明,并不是函数调用。函数调用是直接other();所以,调用了2次...

c\/c++(2)
1、全局静态变量、局部静态变量 2、静态函数。只能在 本源文件 中使用 3、c++中,static关键字可以定义 类 中的静态成员变量。类中static静态数据成员拥有一块独立的单独存储区,而不管创建了多少个该类的对象。这些对象共享这一块静态存储区。4、c++中,static关键字可以定义 类 中的静态成员函数。静...

在c++中下面对静态数据成员的描述中,正确的是( )。
静态成员函数,与静态数据成员类似。就不说,需要注意的是,它在内存里始终只有一个副本(普通成员函数也一样)。关于静态成员的生命周期,在此就不多说了。

C++中对自定义函数的声明,放main内还是外,在含类的程序中,貌似只能在...
一般放在函数外,调用之前。放在哪跟有类没类没有直接联系。实践中一般将函数声明、类的定义放在头文件中。而定义放在单独的源文件(.cpp)。如果有哪个源文件中用到了头文件中声明的函数或类,只需#include “***.h”将头文件包含进来。

C++经典面试问题
判断指针是否为NULL,如果是则马上用return语句终止本函数, 或者马上用exit(1)终止整个程序的运行,为new和malloc设置异常处理函数。 2,C++指针攻破 答案:指针是一个变量,专门存放内存地址,特点是能访问所指向的内存 指针本身占据了4个字节的长度 int **ptr; \/\/指针的类型是 int ** int (*ptr)[3]; \/\/指针的...

CS知识整理丨程序设计语言丨C++(一)
使用`static`关键字在C++中可以实现多种功能,包括创建静态变量、声明静态函数、定义静态数据成员和模拟静态类。这些功能的使用取决于特定需求和上下文。例如:控制变量的生命周期:静态变量在函数内部声明时,其生命周期与程序的整个运行周期相同,不会因函数执行结束而销毁。避免重复初始化:静态变量只初始化...

C++编译静态函数有问题:undefined reference
这个问题在于你没有使用类的限定符,你在类外定义类的成员函数的时候,应该在函数名前面加上 类名:: ,在你的程序中,也就是在类外定义函数的时候,应该是 A::fun,而不是只有一个fun!另,在类外定义的时候,static这个关键词可以去掉

静态(s_)、成员(m_)、全局(g_)变量在c++中有什么含义、作用?
改变其中一个对象的这个变量,并不会影响其他成员的这个变量。成员变量的作用域,也就是有效范围是整个类。全局变量是说明语句不在任何一个类定义、函数定义或复合语句(程序块)中的变量。全局变量所占用的空间在内存的数据区,在程序运行的整个过程中位置保持不变。

c++静态局部变量和静态函数
在函数体内定义了一个变量,每当程序运行到该语句时都会给该局部变量分配栈内存。但随着程序退出函数体,系统就会收回栈内存,局部变量也相应失效。但有的时候我们需要在两次调用之间对变量的值进行保存。通常的想法是定义一个全局变量来实现。但是这样一来,变量已经不再属于函数本身了,不再仅受函数的控制...

c++经典面试题及答案
1. C++的类和C里面的struct有什么区别?struct成员默认访问权限为public,而class成员默认访问权限为private 2. 析构函数和虚函数的用法和作用 析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性 3. 全局变量...

相似回答
大家正在搜