| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:指针错误了
只看楼主 加入收藏
chtian
Rank: 2
等 级:论坛游民
帖 子:31
专家分:58
注 册:2012-8-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
指针错误了
#include<stdio.h>
#include<string.h>
typedef struct student
{
        char name[10];
        int num;
        float score;
        struct student *next;
}student;
void namesearch(student *h,char n[])
{
        student *p;
        ;
        for(p=h;p!=NULL;p=p->next)
        {
                if(0==strcmp(p->name,n))
                        
                break;

        }
        if(p=NULL)
                printf("该同学不存在!");
        else
        {
                printf("%s\t%d\t%f\n",p->name,p->num,p->score);
        }
}

int main()
{
        student *h,s1={"wang",001,98},s2={"li",002,99},s3={"xu",003,78};
        h=&s1;
        s1.next=&s2;
        s2.next=&s3;
        s3.next=NULL;
        namesearch(h,"li");
        
}

怎么p-name是一个错误的指针
搜索更多相关主题的帖子: include 
2013-09-26 23:04
天空编程
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2013-7-5
收藏
得分:5 
if(p=NULL)改为if(p==NULL)
2013-09-26 23:19
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:5 
程序代码:
#include<stdio.h>
#include<string.h>
typedef struct student
{
    char name[10];
    int num;
    float score;
    struct student *next;
} student;
void namesearch(student *h,char n[])
{
    student *p;
    for(p=h; p!=NULL; p=p->next)
    {
        if(0==strcmp(p->name,n))

            break;
    }
    if(p==NULL)//原程序缺少一等号,相当于把NULL赋值给p,故无法正常输出
        printf("该同学不存在!");
    else
    {
        printf("%s\t%d\t%f\n",p->name,p->num,p->score);
    }
}

int main()
{
    student *h,s1= {"wang",001,98},s2= {"li",002,99},s3= {"xu",003,78};
    h=&s1;
    s1.next=&s2;
    s2.next=&s3;
    s3.next=NULL;
    namesearch(h,"li");
return 0;
}
2013-09-26 23:20
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:5 
这个指针没有问题!

~~~~~~我的明天我知道~~~。
2013-09-26 23:24
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:5 
if(p=NULL)这个判断问题吧,p->name可以用,你的编译器报错了?

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-09-27 06:59
在这里爬起
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:43
专家分:113
注 册:2013-8-9
收藏
得分:0 
只需要改下p==NULL
2013-09-27 09:25
快速回复:指针错误了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015615 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved