c++结构体逻辑问题

#include <stdio.h>
#include <string.h>
struct stds {
int num;
char name[10];
double m;
};
void fun(struct stds k) {
k.num=101;
strcpy(k.name,"LiLin");
k.m=1227.0;
}
int main() {
struct stds q= {102,"WangLu",1918.0};
fun(q);
printf("%d,%s,%6.1f\n",q.num,q.name,q.m);
return 0;
}
最终运行结果还是102,"WangLu",1918.0,这是为什么没有梳理清楚逻辑。

img


这一块,值传递,而且还没有return返回值,主函数接收不到反馈,因此值还是一开始初始化的值。

希望对题主有所帮助!可以的话,帮忙点个采纳!