不同结构体间字符变量赋值报错,C语言字母树构建问题排查
结构体字符赋值错误排查
我在尝试将一个结构体数组中的字符赋值给另一个结构体的字符变量时出现错误,无法定位原因,相关信息如下:
1. 文本文件内容
stabilimetre stabilimetre Nom:Mas+SG
2. 结构体定义
字母树节点结构体
typedef struct s_node { char letter; //目标成员 struct s_node* f_letters[26]; word* flechies; }t_node; typedef struct s_tree { t_node* root; }t_tree;
单词信息结构体
typedef struct { char content[100];//源成员所在数组 char base_word[100]; int nature; int genre; int nombre; int temps; int personne; }word;
3. 实现代码
int main () { FILE *fp; char str[5000]; char type[100]; t_tree Letter; t_node* temp; Letter.root=NULL; t_node first; fp = fopen("dico_reducted.txt" , "r"); if(fp == NULL) { perror("Error opening file"); return(-1); } while (fgets (str, sizeof(str), fp)!=NULL) { word A; sscanf(str,"%s\t%s\t%s:%s",&A.content, &A.base_word, &type); Letter.root = &first; first.letter = 'N'; first.f_letters[0] = temp; temp->letter = A.content[0]; // *报错行* } fclose(fp); // Close the file return 0; }
问题详情
已确认A.content[0]与temp->letter类型一致,当前运行仅报错无正常输出,预期实现每个节点存储字母的树,请求排查错误原因。
内容的提问来源于stack exchange,提问作者Antoine Dupont
相关产品推荐
相关产品推荐

