微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

打印结构指针c

如何解决打印结构指针c

我正在尝试在下面打印函数的结果

void add_Votes(struct Votes* v1,struct Votes* v2) {
    v1->men += v2->men;
    v1->women += v2->women;
}

使用这组代码

add_Votes(all,michigan);
    printf("all->men: %d\n",&(all->men);

这里是所有需要的变量和结构

struct Votes {
    int men;
    int women;
};
struct Votes *michigan = {200,300};
struct Votes *all = {0,0};

我尝试将&放置在printf中的强制类型之前,但在第二个printf之后,它将显示指针的地址 当我不带&打印时,它什么也不显示

如果应该将其作为指针,我应该怎么做 如果我从打印品中删除&,它会显示一系列数字,我猜是地址,但是我需要该值 它说1303720之类的东西,当我需要为200之类的时候

解决方法

您的变量声明错误。它们应该是结构,而不是指针。

struct votes michigan = {200,300};
struct votes all = {0,0};

然后将结构的地址传递给函数:

add_votes(&all,&michigan);
printf("all.men: %d\n",all.men);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。