大一C语言.运行程序输出结果

这个程序有点问题..麻烦帮忙改一下.. 求可以运行有结果.

fun1 (int a,int b )
{intc;
a+=a ;b+=b;c=fun2(a,b); return c* c;
}
fun2 (int a,int b)
{intc;
c=a*b%3; returnc;
}
main ( )
{intx=11,y=19;
printf("%d\n",fun1(x,y));
}

第1个回答  2013-05-27
你这个程序的问题在于:
fun2应该放到fun1的前面去
因为你在fun1里面用到了fun2函数,这样的情况,要么fun2定义在fun1前面,要么在fun1之前加fun2的函数声明

然后说这个程序如果可以正常运行的结果是:(一步一步给你解释)
fun1里面
a+=a 结果a=22 b+=b 结果b=38 c=fun2(22,38)
跳到fun2里面
c=a*b%3 结果是c=22*38%3=2
再回到fun1里面,fun1的值是c*c 结果是4
所以最后输出的结果是4
第2个回答  2013-05-27
应该是4.
a=11,b=19;
fun1中a +=a执行后为22,b += b执行后为38;
fun2中c = a*b%3,a*b是836,除3取余得2;
fun1中,返回c*c得4.追问

能帮我把代码改一下吗.. 我需要运行代码得出结果,,

追答

没什么错误,添加上fun1跟fun2的函数返回类型int。你在最后添加两行 char ch; scanf("%c",&ch);
程序输出完后,直接退出了。添加一个输入命令暂停一下(刚刚试过了,输入命令结束后也直接退出)。

第3个回答  2013-05-27
fun2 (int a,int b)
{int c;
c=a*b%3;
return c;
}
fun1 (int a,int b )
{int c;
a+=a ;b+=b;c=fun2(a,b);
return c* c;
}
main ( )
{intx=11,y=19;
printf("%d\n",fun1(x,y));
}本回答被提问者和网友采纳
第4个回答  2013-05-27
fun1()、fun2()前面最好加上int

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网