第十二周项目一阅读程序(1)

来源:互联网 发布:技术狗python网盘 编辑:程序博客网 时间:2024/03/29 23:34

问题及代码:

/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:郝俊宇   * 完成日期:2014年 11 月 13 日  * 版 本 号:v1.0  *  * 问题描述:阅读下面两个有静态局部变量的程序, 阅读中画出其中各变量的变化过程,以掌握静态变量的储存特征,对照实际运行结果检验学习成果。 * 输入描述:无 * 程序输出: 两个整数 */ #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 10,可是运行结果是7,15,我又算了好长时间,怎么算也不是,经过别人的指导,原来静态变量只用一回,下一次算的时候就会变化。

/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:郝俊宇   * 完成日期:2014年 11 月 13 日  * 版 本 号:v1.0  *  * 问题描述:阅读下面两个有静态局部变量的程序, 阅读中画出其中各变量的变化过程,以掌握静态变量的储存特征,对照实际运行结果检验学习成果。 * 输入描述:无 * 程序输出: 两个整数 */ #include <iostream>using namespace std;int func (int a,  int b){    static int m=0, i=2;    i+=m+1;    m=i+a+b;    return m;}int main(){    int k=4, m=1, p;    p=func(k, m);    cout<<p<<endl;    p=func(k, m);    cout<<p<<endl;    return 0;}


运行结果:

学习心得:

经过第一个的学习,这一个轻松算出。得意

0 0