C语言求高手指点!!!

29.以下程序的输出结果是()#include“stdio.h”#include“string.h”inta=4;intf(intn){intt=0;staticinta... 29.以下程序的输出结果是()
#include “stdio.h”
#include “string.h”
int a=4;
int f(int n)
{int t=0;static int a=5;
if(n%2){int a=6;t+=a++;}
else {int a=7;t+=a++;}
return t+a++;
}
main( )
{int s=a,i=0;
for (;i<2;i++) s+=f(i);
printf("%d\n",s);
}

A.24 B.28 C.32 D.36 答案为B,if(n%2){int a=6;t+=a++;}中a的值增加了1,在执行 return t+a++;时,a的值为6还是7?
展开
 我来答
来自天鹅洞尊敬的蔷薇
2011-07-26 · TA获得超过818个赞
知道小有建树答主
回答量:603
采纳率:100%
帮助的人:234万
展开全部
第一个是6
第二个是7
这是变量的作用域问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alfred_zhou
2011-07-26
知道答主
回答量:32
采纳率:0%
帮助的人:22.8万
展开全部
7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式