fan123456 发表于 2020-3-10 16:02:05

静态链

#include<stdlib.h>
#include<stdio.h>
struct student
{
        int num;
       struct student*next;
};
int main()
{
       struct student a ,b, c,*p;
       a.num=1;
       b.num=2;
       c.num=3;
       a.next=&b;
       b.next=&c;
       c.next=NULL;
        printf("%d\n",a.num);
        printf("%d\n",a.next->num);
        printf("%d\n",a.next->next->num);
        p=&a;
        do{
                printf("%d\n",p->num);
                p=p->next;
        }
        while("p!=NULL");

}                do-while 语句里while括号里面 输入p!=NULL 跟 whili("")是一样的结果 这是为啥?

ba21 发表于 2020-3-10 18:03:16

"p!=NULL"
这个""是几个意思????

就是要努力呀 发表于 2020-3-10 18:07:16

因为你加了" "号,在c语言中" " 括起来的东西表示字符串 一个叫P!=NULL的字符串和一个的字符串在这里没有任何区别

就是要努力呀 发表于 2020-3-10 18:08:44

而且你的程序发生了越界编译器没提醒你吗
正确写法应该是do
{
printf("%d\n", p->num);
p = p->next;
}
while(p!=NULL); //没有双引号才表示这是一个语句
页: [1]
查看完整版本: 静态链