汽车行业工程师 发表于 2020-12-3 19:41:01

单链表求助!!!急

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
int count = 0;
struct SCHOOL
{

        char school;
        int class;
        char studentname;
        int age;
        char sex;
        int height;
        int weight;
        char introduction;
        struct SCHOOL* next;


};


main()
{
        struct SCHOOL* phead = NULL,*temp=NULL;
       
       

       
        phead = (struct SCHOOL*)malloc(sizeof(struct SCHOOL));
        temp = phead;
        temp->school = "sichuan university";
        temp->class = 1;
        temp->studentname = "yangke";
        temp->age = 18;
        temp->sex = "boy";
        temp->height = 160;
        temp->weight = 80;
        temp->introduction= "short";
}



代码中截取的一段,为什么类似temp->school这种字符串的无法录入,int型可正常录入。temp处提示表达式必须是可修改的左值。求大佬帮助,今晚必须要搞定,救救老弟,万分感谢

汽车行业工程师 发表于 2020-12-3 19:41:55

补充一下,做成键盘SCANF录入可运行。但是想预设值,就报错

jackz007 发表于 2020-12-3 19:45:38

      字符串赋值不可以直接用等号,应该用函数
      temp->school = "sichuan university";
      得写成下面这样
      strcpy(temp->school , "sichuan university") ;

汽车行业工程师 发表于 2020-12-3 20:01:08

jackz007 发表于 2020-12-3 19:45
字符串赋值不可以直接用等号,应该用函数

      得写成下面这样

大佬,还是不行啊,提示strcpy不安全

汽车行业工程师 发表于 2020-12-3 20:08:02

jackz007 发表于 2020-12-3 19:45
字符串赋值不可以直接用等号,应该用函数

      得写成下面这样

我用的是VS,求助

jackz007 发表于 2020-12-3 20:38:21

汽车行业工程师 发表于 2020-12-3 20:08
我用的是VS,求助

   代码文件开头添加这样一句
#define _CRT_SECURE_NO_WARNINGS
页: [1]
查看完整版本: 单链表求助!!!急