第一次func(a,b)函数时,传递过来的两个值是4,1 即在func(a,b)函数中a=4,b=1 static int m=0,i=2,定义了两个静态变量,即一直战用内存,函数调用结束不释放,结果依然是上一次改变后的结果。
执行 i+=m+1 →即 i=2+0+1=3;
执行 m=i+a+b; → m=3+4+1=8;
执行 return(m) →返回 m=8;
printf("%d,",p); 输出 8
第二次执行func函数 依然传递 4,1
在func函数中,因为m 和i是静态变量,所以这时m=1,i=3
执行 i+=m+1; → i=3+8+1=12;
执行 m=i+a+b; → m=12+4+1=17;
执行 return(m) →返回 m=17;
printf("%d,",p); 输出 17
最后结果为 8 ,17
输出会是8,10,16
这是因为i=010; C语言默认以数字0开头的是一个八进制数,所以转为十进制后就是8。
k=0x10;这是明文写明了这是一个十六进制数,转为十进制就是16。
#include <stdioh> /这一句是包涵数学运算的库进本程序/
main()
{
int x=2; /这一句是定义一个变量x的值为2/
while(x--); /这一句是进入while循环,先赋值,再自减/
printf("%d\n",x); /这一句是打印出结果,\n表示回车,将x的值打出来/
}
这段程序,是这样运行的,进入循环后,第一次循环由于是先赋值,再自减,所以,第一次循环时x=2,然后打出一个2,再回车,再边成了1,然后再循环,打出1再回车,然后边成了0,0是表示假,假不符合条件,所以退出循环,故结果应该是:
2
1
不知道这么多年不看c了,还对不对。呵呵,老了,真的都忘了,让各位看官见笑了。
以上就是关于以下程序的输出结果是_______________。 #include <stdio.h> main() {int k=4,m=1,p; p=func(k,m); printf(全部的内容,包括:以下程序的输出结果是_______________。 #include <stdio.h> main() {int k=4,m=1,p; p=func(k,m); printf(、以下程序的输出结果是___________.、以下程序的输出结果为:#include <stdio.h>等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)