| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1504 人关注过本帖
标题:为什么p是first use?
只看楼主 加入收藏
温酒斩化腾
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2017-3-28
结帖率:72.73%
收藏
已结贴  问题点数:20 回复次数:8 
为什么p是first use?
#include<stdio.h>
#include<stdlib.h>
typedef struct player
{
    int value;
    struct player *next;
}PLAYER;
int main()
{
    int number,i=0;
    PLAYER *head=NULL;
    do
    {
        scanf("%d",&number);
        i++;
        if(number!=-1)
        {
            PLAYER *p=(PLAYER *)malloc(sizeof(PLAYER));
            p->value=number;
            p->next=NULL;
        }
        PLAYER *node=head;
        if(node)
        {
            while(node->next)
                node=node->next;
            node->next=p;
        }
        else
            head=p;
    }
    while(number!=-1);
}
搜索更多相关主题的帖子: player int next number head 
2017-07-12 10:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
if里面的p 自然就有不被执行的机会

DO IT YOURSELF !
2017-07-12 11:04
温酒斩化腾
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2017-3-28
收藏
得分:0 
回复 2楼 wp231957
可是这代码连编译都过不去。。
2017-07-12 11:22
静水且流深
Rank: 5Rank: 5
等 级:贵宾
威 望:11
帖 子:60
专家分:319
注 册:2017-7-7
收藏
得分:7 
如果是尾插法建立链表的话,修改如下:
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct player
{
    int value;
    struct player *next;
}PLAYER;
int main()
{
    int number=0,i=0;
    PLAYER *head=NULL;
    PLAYER *p=head;
    do
    {
        scanf("%d",&number);
        if(number!=-1)
        {
            i++;
            PLAYER *q=(PLAYER *)malloc(sizeof(PLAYER));
            q->value=number;
            q->next=NULL;
            p->next=q;
            p=q;
        }
    }
    while(number!=-1);
}

不过是爱情,又能走多久
2017-07-12 11:23
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:7 
p定义放在开头,不然是局部变量。

[此贴子已经被作者于2017-7-12 11:37编辑过]

2017-07-12 11:34
温酒斩化腾
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2017-3-28
收藏
得分:0 
回复 5楼 ehszt
这些语句不都是在main函数里面吗,怎么成局部变量了呢
2017-07-12 11:54
温酒斩化腾
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2017-3-28
收藏
得分:0 
回复 4楼 静水且流深
哈哈,谢谢了,我也是刚刚看视频教学学的,谁知道代码照抄那老师的居然不过去
2017-07-12 11:56
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
#include<stdio.h>
 int main()
 {
     int a=10;
     if(a)
     {
         int b=9;  //这里的b只在当前的大括号中有效,编译是通不过的
         b--;
     }
     printf("%d",b); //会提示这里没有声明
 }
2017-07-12 12:10
温酒斩化腾
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2017-3-28
收藏
得分:0 
回复 8楼 ehszt
谢谢
2017-07-12 15:44
快速回复:为什么p是first use?
数据加载中...
 
   



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

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