[英]Alotting values using typedef struct
使用成员定义运算符与类型定义一起编写代码时遇到一些问题。 我想分配该值,请参见下文,我的结构定义了变量。 但是每次我尝试一下时,我都会走得更远并且迷惑自己。 我究竟做错了什么? 为什么该程序不打印不同的值?
#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);
除printf问题外,还应将路线变量传递给main中的outputDate()函数。
outputDate(course);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.