可以说我有一个自定义类型

typedef struct {
    char code[3];
    int max_capacity;
    int state;
} Train;


我想使用scanf读取这些3char代码来填充这些结构的数组,问题是,我想直接使用scanf的输入来命名“ Train”类型,而不必在获取属性之前像A那样赋予“占位符名称” scanf值。

假设我输入TRI,例如,我想将其命名为TRI以及TRI.code = TRI

所以,避免这样的事情

void add_train(){
Train A
scanf(“%s”, &A.code)


并尝试直接命名

void add_train(){
Train scanfstring
scanf(“%s”, &scanfstring.code)


没有多个scanf调用或归因,进行此操作的最佳方法是什么?

最佳答案

Struct transporter {
   int max_capacity;  int state;
};


typedef struct transporter Train;

    Void add_train() {//assumed not parameterized
    Train TRI[3];
     int code =3;
    (int i=0; i<3; i++)
    scanf(“%d %d”, &TRI[i].max_cpacity, TRI[i].state);
}


//根据他的解释,我把代码尽其所能地理解了,这真是令人困惑。
//好的,这些代码块表示您有一个运输车集合,并且您希望从中继承火车。为此,请使用Typedef,但我相信您甚至都不需要将“运输工具”训练为“火车”。
//最后,他把Not参数化的函数放到了我没有改变的地方;每次调用此函数时,您将创建三列火车,并且使用for循环,您可以在同一行中为每列火车输入容量和状态

关于c - 直接从scanf命名typedef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36298912/

10-09 15:36
查看更多