C语言结构体成员变量引用,提示未声明

#include<stdio.h>structL{intnum;charname;structL*next;};intmain(){structLa,b,c,*head,... #include<stdio.h>struct L{ int num; char name; struct L*next;};int main(){ struct L a,b,c,*head,*p; a.num=123;a.name={yang}; b.num=103;b.name={yan}; c.num=230;c.name={yng}; head=&a;a.next=&b;b.next=&c;c,next=NULL;P=head; for(;p=!Null;p=p->next) printf("%d,%c\n",p->num,p->name); return 0;} 展开
 我来答
瑞候端瓜0Y
2017-05-13 · TA获得超过2039个赞
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:96.3万
展开全部
#include<stdio.h>
#include<string.h> //函数strcpy需要头文件string.h

struct L
{
    int num;
    //原代码char name; 这只是1个字符
    char name[20];  //name[]是字符数组,存放字符串,可以存放19个字符+1个结尾标识0
    struct L *next;
};

int main()
{
    struct L a,b,c,*head,*p;
    a.num=123;
    //原代码a.name={yang};
    strcpy(a.name,"yang"); //字符串赋值,一般用函数strcpy
    b.num=103;
    //原代码b.name={yan};
    strcpy(b.name,"yan");
    c.num=230;
    //原代码c.name={yng};
    strcpy(c.name,"yng");
    head=&a;
    a.next=&b;
    b.next=&c;
    //原代码c,next=NULL;
    c.next=NULL;
    //P=head; //这个P是大写 实际上变量p是小写
    //原代码for(;p=!Null;p=p->next) //Null是拼写错误, =!是拼写错误
    for(p=head ; p != NULL ; p=p->next )
    {
       //printf("%d,%c\n",p->num,p->name); //%c对应1个字符
       printf("%d,%s\n",p->num,p->name);  //%s对应字符串
       printf("\n");
    }

    return 0;
}
追问
谢谢大神详细的解答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式