C++ Primer(第5版) 练习 6.6
练习 6.6 说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
/*************************************************************************
> File Name: ex6.6.cpp
> Author:
> Mail:
> Created Time: Tue 13 Feb 2024 09:37:41 AM CST
************************************************************************/
#include<iostream>
using namespace std;
int fact(int n){
static int count = 0;
return ++count * n;
}
int main(){
int num;
cout<<"Enter number: ";
cin>>num;
for(int i = 0; i < num; i++){
cout<<fact(num)<<endl;
}
return 0;
}
运行结果显示如下
解释
形参是函数题内部定义的变量,只作用于函数内部,生命周期随函数调用开始,随函数结束而销毁。
局部变量作用与该变量位于的块内,声明周期随块的结束而结束。
局部静态变量在函数创建便初始化,不随函数调用结束而结束,而是随着函数所在块的结束而结束。