首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么结果是0?

为什么结果是0?
EN

Stack Overflow用户
提问于 2020-05-05 02:33:53
回答 2查看 75关注 0票数 0

我在乞讨,我在努力做作业。我不知道为什么结果是0。

代码如下:

代码语言:javascript
复制
#include <stdio.h>
#include <math.h>
#include <string.h>
typedef struct{
    float x;
    float y;
    float z;
}Vector;
void print_vector(Vector vector);
Vector enterVector();
int main()
{
    Vector v1;
    printf("\nEnter vector v1:\n");
    v1 = enterVector();
    print_vector(v1);
    return 0;
}
void print_vector(Vector vector)
{
    printf("x=%.2f, y=%.2f, z=%.2f\n",&vector.x,&vector.y,&vector.z);
}
Vector enterVector(){
    Vector vector;
    printf("x-axis="); 
    scanf("%f",&vector.x);
    printf("y-axis="); 
    scanf("%f",&vector.y);
    printf("z-axis="); 
    scanf("%f",&vector.z);
    return vector;
}

下面是一个输出示例:

代码语言:javascript
复制
Enter vector v1:
x-axis=1
y-axis=2
z-axis=3
x=0.00, y=0.00, z=0.00
EN

回答 2

Stack Overflow用户

发布于 2020-05-05 02:37:27

在向printf传递参数时,您应该传递实际值,而不是这些值的地址:

代码语言:javascript
复制
printf("x=%.2f, y=%.2f, z=%.2f\n",vector.x,vector.y,vector.z);
票数 0
EN

Stack Overflow用户

发布于 2020-05-05 02:38:20

代码语言:javascript
复制
void print_vector(Vector vector)
{
    printf("x=%.2f, y=%.2f, z=%.2f\n", vector.x, vector.y, vector.z);
}

你不应该获取指针的地址,而应该直接获取值。

示例输出

代码语言:javascript
复制
Enter vector v1:
x-axis=1
y-axis=2
z-axis=3
x=1.00, y=2.00, z=3.00

享受吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61599208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档