鱼C论坛

 找回密码
 立即注册
查看: 1030|回复: 3

[已解决]静态链

[复制链接]
发表于 2020-3-10 16:02:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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("  ")  是一样的结果 这是为啥?
最佳答案
2020-3-10 18:07:16
因为你加了" "号,在c语言中" " 括起来的东西表示字符串 一个叫P!=NULL的字符串和一个  的字符串在这里没有任何区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-10 18:03:16 | 显示全部楼层
"p!=NULL"
这个""是几个意思????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 18:07:16 | 显示全部楼层    本楼为最佳答案   
因为你加了" "号,在c语言中" " 括起来的东西表示字符串 一个叫P!=NULL的字符串和一个  的字符串在这里没有任何区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 18:08:44 | 显示全部楼层
而且你的程序发生了越界编译器没提醒你吗
正确写法应该是
do
{
printf("%d\n", p->num);
p = p->next;
}
while(p!=NULL); //没有双引号才表示这是一个语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 21:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表