gpt4 book ai didi

c - 我迷路了,我的输出不正确 (C)

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:41 25 4
gpt4 key购买 nike

所以我为我的类(class)分配了一个作业,其中应该有一个结构、两个函数和一个主函数。结构需要有这 3 个变量,函数需要有那些名字,而 main 只能有这 3 行。这是我的第一个 C 程序,我们一整年都在做 C++,所以我有点迷茫。我编写了程序并进行了编译,但在我输入值后,输出等于一个基本上随机的值。

//Joshua    
#include <stdio.h>

struct Person
{
char name[100];
int age;
float gpa;
};

void fill_person(struct Person* per)
{
char name[100];
printf("Enter a name.\n");
fgets(name, 100, stdin);
per->name = name;

int age;
printf("Enter an age. \n");
scanf("%d", &age);
per->age = age;

float gpa;
printf("Enter a GPA. \n");
scanf("%f", &gpa);
per->gpa = gpa;

}

void show_person(struct Person* per)
{
char name[100];
printf("The person's name is %c\n", &name);

int age;
printf("Their age is %d\n", &age);

int gpa;
printf("Their GPA is %f", &gpa);
}

int main()
{
struct Person per;
fill_person(&per);
show_person(&per);
}

最佳答案

检查你在 show_person 中的 printf 语句——当时它们在每个字符串后传递了错误类型的变量,并且它们传递的值与您传入的 struct

fgets 周围的东西也不会按您期望的方式工作。例如。 char string1[100], string2[100]; string2 = string1; 不会将 string1 的内容复制到 string 2。

关于c - 我迷路了,我的输出不正确 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19508478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com