输入所有数据后立即出现错误。
Bug right after entering all the data.
我正在用 C 编写一个小程序来记录一个人的姓氏、名字和年龄。我正在尝试使用结构来做到这一点
一旦我添加了它的错误年龄。
我试过使用 fscanf fgets 等..但没有成功
#include <stdio.h>
#include <printf.h>
#include "personne.h"
int main() {
Pers user1;
printf("What's your given name ?");
scanf("%s",user1.givenname);
printf("What's your last name ?");
scanf("%s",user1.lastname);
printf("What's your age ?");
scanf("%d",user1.age);
printf("Your name is %s %s and you're %d years old",user1.givenname,user1.lastname,user1.age);
return 0;
}
======================================================================
这是我的头文件
#ifndef TABLEAU_DE_TYPEPERSONNE_PERSONNE_H
#define TABLEAU_DE_TYPEPERSONNE_PERSONNE_H
#endif //TABLEAU_DE_TYPEPERSONNE_PERSONNE_H
typedef struct Personne Pers;
struct Personne{
int age;
char lastname[100];
char givenname[100];
char address[1000];
};
通常在最后,它应该打印信息。
为了使 scanf 正确填充值,必须将该值的地址传递给函数,在您的示例中,所有名称都是数组,因此当您传递它们的名称时,您传递的是指针,但是年龄字段不是数组,所以你应该用 & 运算符传递地址,所以只需更改为这个。
scanf("%d", &user1.age)
我正在用 C 编写一个小程序来记录一个人的姓氏、名字和年龄。我正在尝试使用结构来做到这一点 一旦我添加了它的错误年龄。
我试过使用 fscanf fgets 等..但没有成功
#include <stdio.h>
#include <printf.h>
#include "personne.h"
int main() {
Pers user1;
printf("What's your given name ?");
scanf("%s",user1.givenname);
printf("What's your last name ?");
scanf("%s",user1.lastname);
printf("What's your age ?");
scanf("%d",user1.age);
printf("Your name is %s %s and you're %d years old",user1.givenname,user1.lastname,user1.age);
return 0;
}
======================================================================
这是我的头文件
#ifndef TABLEAU_DE_TYPEPERSONNE_PERSONNE_H
#define TABLEAU_DE_TYPEPERSONNE_PERSONNE_H
#endif //TABLEAU_DE_TYPEPERSONNE_PERSONNE_H
typedef struct Personne Pers;
struct Personne{
int age;
char lastname[100];
char givenname[100];
char address[1000];
};
通常在最后,它应该打印信息。
为了使 scanf 正确填充值,必须将该值的地址传递给函数,在您的示例中,所有名称都是数组,因此当您传递它们的名称时,您传递的是指针,但是年龄字段不是数组,所以你应该用 & 运算符传递地址,所以只需更改为这个。
scanf("%d", &user1.age)