鱼C论坛

 找回密码
 立即注册
查看: 852|回复: 7

[已解决]关于单链表中指针的移动

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

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

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

x
在小甲鱼c语言那个学习视频里面,单链表那里有关于通讯录的图需要实现,然后我自己下来做的时候,对于指针的挪动编译总是警告, 我也不知道什么原因,望告知
还有一个问题是关于头插法建表,代码都在下面
struct snoed
{
        char name[20] ;
        int number ;
        struct snode *next ;
} ;

void findPerson (struct snoed *head) // 查找联系人
{
        int number , flag ;
        char name[20] ;
        struct snoed *current;
        current = head ;
        printf ("请输入查找方式:1姓名/0电话") ;
        scanf("%d",&flag) ;
        if ( flag == 1 )
        {
                        printf ("请输入联系人姓名:") ;
                        scanf ("%s",name) ;
                        while ( current!= NULL )
                        {
                                if ( !strcmp(current->name , name ) )
                                {
                                        printf ("你所查找的联系人信息为:\n") ;
                                        printf ("联系人:%s , 电话:%d",current->name, current->number) ;       
                                }
                                current = current->next ; // 有问题
                        }
        }
        else if (flag == 0 )
        {
                printf ("请输入联系人电话:") ;
                scanf("%d",&number) ;
                while ( current!= NULL )
                        {
                                if ( number == current->number )
                                {
                                        printf ("你所查找的联系人信息为:\n") ;
                                        printf ("联系人:%s , 电话:%d",current->name, current->number) ;       
                                }
                                current = current->next ;                   // 这句编译出现警告
                        }
        }
        else
        {
                printf ("输入错误,程序退出:") ;
                free(current);
                exit(1) ;
        }
        free(current);
        return ;
}


*****************************
这是小甲鱼在头插法建表那里指针的移动关系
                temp = *head ;
                *head = new_node ;
                new_node = temp ;

而我想的是
new_node->next = *head ;
*head = new_node ;

这个也总是编译警告,应该没错啊;我真是太难了

最佳答案
2020-3-11 14:30:13
是不是没有加break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-11 14:30:13 | 显示全部楼层    本楼为最佳答案   
是不是没有加break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-11 16:16:11 | 显示全部楼层

不是,我试了加了break也没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-11 16:47:35 | 显示全部楼层
原来是我定义的时候snode 写成 soned了 草
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-11 20:28:56 | 显示全部楼层
哥们你大几了呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 11:06:25 | 显示全部楼层

大二了 ,过来重新学下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 11:16:16 | 显示全部楼层
北有樵先生 发表于 2020-3-12 11:06
大二了 ,过来重新学下

老哥,计算机专业吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 11:38:00 | 显示全部楼层
最后的魁拔 发表于 2020-3-12 11:16
老哥,计算机专业吗?

嗯,软件工程,之前是电信的,上学期刚转专业
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 12:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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