
计算机二级c语言实参形参一道题,跪求大神解答
有以下程序:#include<stdio.h>typedefstruct{intb,p;}A;voidf(Ac)/*注意:c是结构变量名*/{intj;c.b+=1;c....
有以下程序:
# include <stdio.h>
typedef struct { int b, p; } A;
void f(A c) /* 注意:c是结构变量名 */
{ int j;
c.b += 1; c.p+=2;
}
main()
{ int i;
A a={1,2};
f(a);
printf("%d,%d\n", a.b, a.p);
}
程序运行后的输出结果是( )。
A) 2,4
B) 1,2
C) 1,4
D) 2,3
答案是B,求大神仔细分析一下这道题的解答过程,实在是看不懂,谢谢 展开
# include <stdio.h>
typedef struct { int b, p; } A;
void f(A c) /* 注意:c是结构变量名 */
{ int j;
c.b += 1; c.p+=2;
}
main()
{ int i;
A a={1,2};
f(a);
printf("%d,%d\n", a.b, a.p);
}
程序运行后的输出结果是( )。
A) 2,4
B) 1,2
C) 1,4
D) 2,3
答案是B,求大神仔细分析一下这道题的解答过程,实在是看不懂,谢谢 展开
2个回答
展开全部
这个函数是void型,在本题中实参传递给形参后,形参改变后的值无法传递回去,这一点回去翻下书,如果要改变值得话需要通过指针,所以对于结构体a来说,它里面的值依旧没有改变,所以答案选B
追问
明白点儿了,那你能讲一下形参怎么通过指针传递给实参的呢?就是什么格式,谢谢!

2025-02-17 广告
联韬企业管理咨询有限公司是专注在供应链管理和运营管理领域的培训咨询机构,承办CPIM/CSCP/CLTD/SCOR DS认证项目的教育培训及考试管理,为企业和个人提供教育培训,专业认证考试和咨询指导服务。帮助企业实施和改进管理流程;提高管理...
点击进入详情页
本回答由上海联韬企业提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询