标题:萌新求指导,两行不同的类型的输入如何存入结构体??
只看楼主
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:4 
回复 10楼 Gen404
好奇葩的代码,又不是结构,又用->运算符,最搞笑的还是&运算符取地址来强行使用->

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-17 12:08
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 10楼 Gen404
把全部代码给出来帮你调试。你这部分代码又重新定义变量和结构体,最后怕你理解不了代码的意思。
2017-05-17 12:20
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
你这个没有结构体变量啊,没法存入结构体的。把char ch[30]改成struct 结构体类型 ch[30]   在用ch[0]->fru  ch[1]->fru  你那个是语法错误。建议把所有代码给出
2017-05-17 12:29
Gen404
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-5-16
得分:0 
回复 13楼 Emotiona
昨天再做了几遍还是有几点不明白,不好意思我初学学的比较烂

这部分的码是下面这个样子,想问下是不是应该用malloc才不会报错?
input是
#hewitt
5 95 0
#hugh
40 60 0
#jackman
0 100 0
#logan
40 0 60
#melbourne
5 5 90
#sydney
5 5 90
#zack
40 40 20
单词对应的是name,三个数字对应的是first,last,non

程序代码:
#include<stdio.h>
#include<stdlib.h>

typedef struct{
    char name;
    int p_first;
    int p_last;
    int p_non;
}name_dict;

name_dict input(void);

int main(int argc, char *argv[]){
    name_dict dict;
    dict = input();
    
    return 0;
}

name_dict_t input(void){
    name_dict new_dict;
    int i;
    char *line = NULL;
    char f;
    line = (char*)malloc(sizeof(line));
    while((scanf("%s",line))!=EOF){
        f = line[0];
        
        if(f == '%'){         //遇到%号停止
            break;
            
        }else if (f == '#'){        
            sscanf(line+1, "%s", &new_dict.name);
            scanf("%d %d %d", &new_dict.p_first, &new_dict.p_last, &new_dict.p_non);
            printf("%s", new_dict.name);     //测试是否成功录入?
        }
        i++;
    }
    return new_dict;
}


[此贴子已经被作者于2017-5-18 17:38编辑过]

2017-05-18 14:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477038-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.176915 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved