C语言结构体的两道题 求解,C帝进!要求有详细的解答过程!和解析!

2025-03-09 22:05:31
推荐回答(4个)
回答1:

第一题因为用f函数改变了a,因此是D,
第二题因为形参改变实参不变,因此还是16,
它们的不同是,一个有return一个没有,第一题不是通过改变参数改变a的,而是通过return!

回答2:

应该是D 吧
a是一个A型结构体,函数f()是一个返回值为指向A型结构体的指针的函数,首先给a赋初值为1001,”ZhangDa”,1098.0,但是经过函数f(),a.a==1002,a.b==ChangRong,a.c==1202.0,所以结果是1002,ChangRong,1202.

注:结构体名在函数中传递的是指向结构体的指针
第二题结果 我觉得是23

回答3:

1.D
因为return t; 所以程序中的返回值被重新赋值了!

2.16
因为void fun1所以没有返回值,fun1(x)中 x的值是被复制了,而主程序中的x的值没有变化。

回答4:

那是第一题,第二题是16