fujie661 发表于 2020-1-28 20:14:27

求大神帮忙


【求助帖】请及时确认最佳答案,下次提问时可以得到更多关注,问题可以更快解决
#include<stdio.h>
int c,a=4;
int func(int a,int b)
{
   c=a*b;
   a=b-1;
   b++;
   return(a+b+1);
}
void main()
{
int b=2,p=0;c=1;
p=func(b,a);          这句话什么意思,p怎么算的
printf("%d,%d,%d,%d\n",a,b,c,p);
}

shake_a_tree@16 发表于 2020-1-28 20:19:37

func不是上面写了吗。func函数返回的是a+b+1,,而a是输入的b-1,b是原本的b加1,故最后返回的是2b+1。这里的b就是func的第二个参数

zltzlt 发表于 2020-1-28 21:59:22

将 p 赋值为 func(b, a) 的返回值。

召唤师 发表于 2020-4-1 10:07:02

func就是你上面定义的函数。看看函数那一章

lovely539351 发表于 2020-4-1 13:08:02

本帖最后由 lovely539351 于 2020-4-1 13:12 编辑

c = 1;
b = 2;
a = 4;
p = func(b, a);
int func(int a,int b)          这里a = 2, b = 4;
{
   c=a*b;                在分支函数里计算不会影响主函数里的c,下面a和b同理不影响主函数里的值
   a=b-1;                a = 4 - 1;
   b++;                  b = 4 + 1;
   return(a+b+1);   返回值为9;所以p = 9;
}

最后a = 4, b = 2; c = 1; p = 9;


页: [1]
查看完整版本: 求大神帮忙