www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

//compile with:g++ sourceCode.cpp -o execAbledName

全局变量实现了函数间数据共享,使得变量不再因为某个函数的结束而消失

新问题:密码检测系统根据调用(用户输错密码)的次数来限制他进入系统

如果把调用 次数存放在一个局部变量里,显然不可行,虽然全局变量可以记录一个函数的运行次数,但是这个变量时被所有函数共享的,每个

函数都能修改它,很危险

面对上述问题迫切需要的是一个函数运行结束后不会消失,并且其他函数无法访问的变量

static local Variable 它在函数运行结束不会消失,并且只有声明它的函数才能使用

static int a;

使用静态局部变量可以让函数产生的数据更长期更安全地存储,.如果一个函数运行和它以前的运行结果有关,那么一般使用静态局部变量

密码检测系统案例

//compile with g++ passCheck.cpp -o passCheck
//created byRuiy
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
int main()
{
do{}
while(password()! = true);//
cout<<"Welcome to login system!"<<endl;
return 0;
}
bool password()
{
static numOfRun = 0;//声明静态局部变量存放函数调用次数
if (numOfRun < 3)
{
int psw;
cout<<""<<++numOfRun<<"次输入密码"<<endl;
cin>>psw;
if (psw == byRuiy)
{
return true;
}
else{
count<<"密码错误!"<<endl;
return false;
}
}
else {
count<<"您已经输错密码三次!异常退出!"<<endl;
exit(0);
}
}

 

posted on 2014-06-19 17:26  秦瑞It行程实录  阅读(433)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui