繁体   English   中英

使用typedef结构值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM