我想将用户的学生详细信息打印到学生结构中,我不明白为什么当我使用linux终端编译时,没有输入或输出。请解雇我,我是新来的。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
struct student
{
char *name;
int id;
char enroll;
};
int main()
{
struct student john;
john.name = "John Smith";
john.id = 12345678;
john.enroll = 'D';
}
void getStudent(struct student *john)
{
printf("Type the name of the student: ");
john->name = malloc(100);
fgets(john->name, 100, stdin);
printf("\nType the student number: ");
scanf("%d", &(john->id));
printf("\nType the student enrollment option (D or X): ");
scanf("%c", &(john->enroll));
return;
}
void printstudent(struct student john)
{
printf("Student name: %s\n", john.name);
printf("Student number: %d\n", john.id);
printf("Student enrollment option: %c\n", john.enroll);
return;
}
答案 0 :(得分:0)
您需要从主要部门调用您定义的功能
在main
函数中添加此语句。
printstudent(john);
答案 1 :(得分:0)
您需要从main(或任何需要它的函数)调用您的函数。编写一个函数(声明它)并没有实际执行它。
int main()
{
foo(); // execute foo (call it)
}
void foo()
{
// do stuff
}
您的函数是printf()和scanf()等函数,还必须调用才能使用。