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

来源:互联网 发布:伊藤和淘宝ito是一个吗 编辑:程序博客网 时间:2024/04/24 12:50

问题及代码:

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:Project4.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;}

预计运行结果:8  24

实际运行结果:

知识点总结:

出错的原因是没有想到,第二次执行func函数的时候a,b都不变,a=k=4,b=m=1,所以m=i+a+b=12+4+1=17,而不是24.

static 表示m和i的值不释放,但是其他变量的值都是释放的!!!

学习心得:

写程序的时候要理清楚思路,阅读程序的时候更要前后关联地看,写出过程,往往使结果更准确!

 

0 0
原创粉丝点击