下面程序的运行结果是:_________。 funa(int a) {int b=0; static int c=3; 跪求大神解答
下面程序的运行结果是:_________。funa(inta){intb=0;staticintc=3;a=c++,b++;return(a);}main(){inta=...
下面程序的运行结果是:_________。funa(int a){int b=0; static int c=3; a=c++,b++; return (a); }main(){int a=2,i,k; for(i=0;i<2;i++) k=funa(a++); printf("%d\n",k);}
展开
1个回答
展开全部
得4。
for(i=0;i<2;i++) k=funa(a++); 循环语句执行2次。
第一次 a=2 进入函数funa,(主函数里的a变3,这些都无关紧要,对程序结果无影响。),
funa()中 a=c++, a得3,c 变4,c 是 static, 它将保留 c=4 到下次调用,函数funa返回3,k=3。
第2次 a 进入函数funa, funa()中 a=c++, a得4, c 变5, 函数funa返回4, k=4.
循环结束,k=4; printf("%d\n",k); 输出 4。
for(i=0;i<2;i++) k=funa(a++); 循环语句执行2次。
第一次 a=2 进入函数funa,(主函数里的a变3,这些都无关紧要,对程序结果无影响。),
funa()中 a=c++, a得3,c 变4,c 是 static, 它将保留 c=4 到下次调用,函数funa返回3,k=3。
第2次 a 进入函数funa, funa()中 a=c++, a得4, c 变5, 函数funa返回4, k=4.
循环结束,k=4; printf("%d\n",k); 输出 4。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询