/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:gcd.cpp
*作 者:惠睿
*完成日期:2014年11月12日
*版 本 号:v1.0
*
*问题描述:阅读程序,阅读中画出其中各变量变化过程,以掌握静态变量的存储特征。
*程序输出:输出f(5),f(8)。
*/
#include <iostream>
using namespace std;
int f(int n);
int main()
{
cout<<f(5)<<" ";
cout<<f(8)<<endl;
return 0;
}
int f(int n)
{
static int a=2;
int b=0;
a+=n;
b+=a;
return b;
}
预计运行结果是:7 68
实际运行结果是:7 15
运行结果:
出错原因:没理解含义,在计算f(8)的时候,本应该直接把n赋值为8,却把n由5到8累计计算了。