【c语言】以下程序的输出结果为什么是8,17?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/18 03:09:11
【c语言】以下程序的输出结果为什么是8,17?
#include
int f(int,int)
main()
{ int k=4,m=1,p;
p=f(k,m);printf("%d,",p);
p=f(k,m);printf("%d\n",p);
}
int f(int a,int b)
{static int m,i=2;
i+=m+1;m=i+a+b;return(m);
}
我觉得输出应该是8,16
第二次调用f时,a和b是多少?f里的m是多少?
#include
int f(int,int)
main()
{ int k=4,m=1,p;
p=f(k,m);printf("%d,",p);
p=f(k,m);printf("%d\n",p);
}
int f(int a,int b)
{static int m,i=2;
i+=m+1;m=i+a+b;return(m);
}
我觉得输出应该是8,16
第二次调用f时,a和b是多少?f里的m是多少?
输出是8,17 没错
因为函数f中的m和i都静态变量(static)
第一次调用开始的时候i和m都是2 . 调用结束后i=3,m=8
那么第二次调用开始的时候,i=3,m=8(因为i和m都是静态变量),而调用结束时 i=4 m=17
因为函数f中的m和i都静态变量(static)
第一次调用开始的时候i和m都是2 . 调用结束后i=3,m=8
那么第二次调用开始的时候,i=3,m=8(因为i和m都是静态变量),而调用结束时 i=4 m=17
一道C语言题目,求解答以下程序的输出结果
用C语言程序输出所有个位数是3但不能被3整除的两位数的程序及其结果
关于C语言,以下程序的运算结果为()
以下程序的输出结果____.
如何用C语言程序输出以下字母
如何用C语言程序输出以下图形 // * *** *** *
以下程序是求矩阵a,b的乘积,结果存放在矩阵C中并按矩阵形式输出,请填(3)空使程序完整
用C语言编写一个程序,计算一个整数的三次方,并输出计算结果
C语言程序输出结果不对,就是一个简单的公式!
C语言题 求运行结果 下列程序段执行后的输出结果是( )
C语言如何计算除法,保留两位小数.下边程序的结果为什么是 0.00
C语言分析以下程序,下列说法正确的是?