C语言程序结果 以下程序的运行结果是: 。

main(){inta=2,i;for(i=0;i<3;i++)printf(“%4d”,f(a));}f(inta){intb=0,c=3;b++;c++;return... main( )
{ int a=2, i ;
for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; }
f( int a)
{ int b=0,c=3;
b++; c++; return(a+b+c); }
答案一定要详细哦
展开
 我来答
拱广英沐珍
2020-02-07 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.4万
采纳率:35%
帮助的人:897万
展开全部
这个,应该是2
因为,a=1,
a++这个表达式的值也是1
执行完a++之后,a
加了1
变成2
但if
(a++>1)是不成立的,所以,不执行printf("%d\n",
a);
执行else
后边的
printf("%d\n", a--);
因为a是2,所以a--的值也是2,
执行完a--之后,a又自己减去1,变成了1
豪臻
2015-02-12
知道答主
回答量:17
采纳率:0%
帮助的人:4.7万
展开全部
木有返回值, 看样子是C代码, 程序应该不能运行吧, printf需要头文件的, 函数写法也不标准, 代码格式就更别说了......
程序运行结果应该是" 7 7 7", 三个空格7, 三个空格7, 三个空格7.
不知道你哪里不明白, printf("%4d"), "%4d"是格式控制, 输出整型数据, 不够4位前面补空, 够或者超出的话直接输出, 4位限制无效. b++ 等同于 b = b + 1.
多看书, 多练习.
追问
return返回值是多少
追答
函数参数a的值一直是main中调用的a的值, 注意, 两个a没有关系的, 就是赋值而已. b++ 后b为1, 同理c为4, return (2 + 1 + 4). 你程序中输出的就是函数的返回值. 还有什么不懂的, 你可以尝试下调试工具.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友080b03f
2015-02-12 · TA获得超过463个赞
知道小有建树答主
回答量:381
采纳率:100%
帮助的人:283万
展开全部

  结果:

   7   7   7


把你的代码的f()函数移动到main()上面,不然飚错:

#include<stdio.h>
int f( int a)
{
    int b = 0, c = 3;
    b++; c++; return (a + b + c);
}
int main()
{
    {
        int a = 2, i ;
        for (i = 0; i < 3; i++) printf("%4d", f(a) ) ;
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
2015-02-12 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3478万
展开全部
i = 0时,a = 2,f(a)返回6,代码输出 7
i = 1时,同上
i = 2时,同上
故输出结果是
7 7 7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式