QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 620|回复: 4

一个链表问题

[复制链接]
发表于 2003-7-10 15:29:43 | 显示全部楼层 |阅读模式
我写一个判断链表指针值的子程序
struct student *findclass(char *classnum)
{
        struct student *info;
       
        info = start;
        while (info)
        {
                if (!strcmp(classnum,info -> class_num)) return info;
                info = info -> next;
        }
        printf("\n                 没有这个班级!!!\n");
        return NULL;
}

但是为什么写成这样就不行了呢???
struct student *findclass(int classnum)
{
        struct student *info;
       
        info = start;
        while (info)
        {
                if (classnum == info -> class_num) return info;
                info = info -> next;
        }
        printf("\n                 没有这个班级!!!\n");
        return NULL;
}

这是否程序就会出错了!!!为什么呢???
:-(  :-(  :-(  :-(
发表于 2003-7-10 21:17:52 | 显示全部楼层
string comparison can not use ==, should use strcmp
回复

使用道具 举报

发表于 2003-7-10 22:32:24 | 显示全部楼层
从字符串的实质讲,就是指向内存空间的指针。就像你比较两个数组,所以必须用strcmp()
回复

使用道具 举报

发表于 2003-7-10 22:37:07 | 显示全部楼层
你的结构体中的class_sum是什么类型的????
是INT的吗???还是char??
回复

使用道具 举报

发表于 2003-7-10 23:01:00 | 显示全部楼层
char,楼上打错了,应该是class_num,否则看起来还真像是int
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-15 11:54 , Processed in 0.045921 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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