形参、普通(非静态)局部变量和静态局部变量差别---求取指定整数间阶乘
来源:互联网 发布:巨人网络策划笔试题 编辑:程序博客网 时间:2024/04/30 10:49
形参、普通(非静态)局部变量和静态局部变量差别---求取指定整数间阶乘
1.形参、局部变量和静态局部变量的差别。
从本质上说,三者均属于局部作用域中的变量,其中,局部变量又可以分为普通(非静态)局部变量和静态局部变量。它们的差别在于:
1) 形参的作用域为整个函数体,而普通(非静态)局部变量和静态局部变量的作用域为:从定义处到包含该变量定义的块的结束处。
2)形参由调用函数时传递的实参初始化;而普通(非静态)局部变量和静态局部变量通常用初始化式进行初始化,且均在程序执行流程第一次经过该对象的定义语句时进行初始化。静态局部变量的初始化在整个程序执行过程中进行一次。
3)形参和普通(非静态)局部变量均属自动变量,在每次调用函数时创建,并在函数结束时撤销;而静态局部变量的生命期跨越了函数的多次调用,它在创建后直到程序结束时才撤销。
1) 形参的作用域为整个函数体,而普通(非静态)局部变量和静态局部变量的作用域为:从定义处到包含该变量定义的块的结束处。
2)形参由调用函数时传递的实参初始化;而普通(非静态)局部变量和静态局部变量通常用初始化式进行初始化,且均在程序执行流程第一次经过该对象的定义语句时进行初始化。静态局部变量的初始化在整个程序执行过程中进行一次。
3)形参和普通(非静态)局部变量均属自动变量,在每次调用函数时创建,并在函数结束时撤销;而静态局部变量的生命期跨越了函数的多次调用,它在创建后直到程序结束时才撤销。
2.求取指定整数间阶乘
#include <iostream>using namespace std;//用于辅助求阶乘函数int fac(int x)//x为形参{static int result = 1;//result为静态局部变量result *=x;return result;}int main(){int uplmt;//uplmt为普通(非静态)局部变量cout<<"Enter value of upper limit: "<<endl;cin>>uplmt;//依次输出1~uplmt之间所有整数的阶乘for (int i=1;i<=uplmt;++i){cout<<i<<"! = "<<fac(i)<<endl;}return 0;}
- 形参、普通(非静态)局部变量和静态局部变量差别---求取指定整数间阶乘
- 形参、局部(非静态)变量和静态局部变量的差别
- 非静态局部变量和静态局部变量
- 静态局部变量求阶乘
- 静态局部变量求阶乘
- C++primer——形参、局部变量和静态局部变量的差别
- 局部静态变量和全局静态变量
- C++_静态局部变量求阶乘
- 静态局部变量求n的阶乘
- 成员变量、局部变量和静态变量
- 成员变量、局部变量和静态变量
- 解释形参、局部变量和静态局部变量的差别
- 全局变量和局部静态变量
- 全局变量、静态全局变量、静态局部变量和局部变量
- 全局变量、静态全局变量、静态局部变量和局部变量
- 全局变量、静态全局变量、静态局部变量和局部变量
- 全局变量、静态全局变量、局部变量和静态局部变量
- 静态全局变量和静态局部变量
- SAP如何新建并COPY Client
- IE 定义文档兼容性
- C++析构函数的定义和使用
- thinkphp 之 行为扩展
- 暴风影音
- 形参、普通(非静态)局部变量和静态局部变量差别---求取指定整数间阶乘
- C语言分解质因数
- JS 在标签中使用this 需注意事项
- 各种音频编码方式详解
- javascript setTimeout方法的使用
- cocos2d-x 编译 Anroid版本遇到的问题以及解决办法
- 固体模拟简介(Introduction to solid)
- shell的一些问题
- 数据库日志减肥。自己试过可以