我在使用 type def 语句与成员访问运算符一起编写代码时遇到了一些问题。我想分配我的结构定义变量的值,见下文。但每次我尝试时,我都会进一步陷入困境并使自己感到困惑。我究竟做错了什么?为什么这个程序不打印不同的值?
#include <stdio.h>
void outputDate(courseInfo course);
typedef struct{
int year;
int month;
int day;
}date;
typedef struct{
double avrage;
int students;
date start;
date end;
}courseInfo;
int main(void){
courseInfo course;
course.avrage = 10;
course.students=200
course.start={17,17,17};
course.end={16,16,16};
outputDate();
return 0;
}
void outputDate(courseInfo course){
printf("avrage%d\n", course.avrage);
printf("students%d\n", course.students);
printf("start%d\n", course.start);
printf("end%d\n", course.end);
return;
}
最佳答案
start
是一个结构体,而不是 int
,因此使用 %d
作为格式代码不起作用。
使用类似的东西
printf("start %d %d %d\n", course.start.day, course.start.month, course.start.year);
关于c - 使用 typedef 结构分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46780683/