| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1277 人关注过本帖
标题:俺哩程序错哪儿了?
只看楼主 加入收藏
virtualperson
Rank: 1
来 自:时光尽头
等 级:新手上路
帖 子:428
专家分:1
注 册:2008-10-22
结帖率:100%
收藏
 问题点数:0 回复次数:10 
俺哩程序错哪儿了?
#include<stdio.h>
#include<malloc.h>

void main(){
    struct student{
        int data;
        struct student *next;
    }STUDENT;
    STUDENT *h=(STUDENT *)malloc(sizeof(STUDENT));
    h->next=NULL;
    for(int i=1;;i++){
    STUDENT *p=(STUDENT *)malloc(sizeof(STUDENT));
    scanf("%d",&p->data);
    if(p->data=-1)break;
    p->next=h->next;
    h->next=p;
    }
    STUDENT *q=h->next;
    do{
        printf("%d",q->data);
        q++;
    }while(q->next!=NULL);
}
注:编译无错,但不能运行。
搜索更多相关主题的帖子: C程序问题 
2008-11-18 12:44
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
#include<stdio.h>
#include<malloc.h>

void main(){
    typedef struct student{    //typedef
        int data;
        struct student *next;
    }STUDENT;
    
    STUDENT *h=(STUDENT *)malloc(sizeof(STUDENT)),*head;
    h->next=NULL;
    head = h;    //....
    for(int i=1;;i++){
        STUDENT *p=(STUDENT *)malloc(sizeof(STUDENT));
        scanf("%d",&p->data);
        if(p->data==-1)break;    //== and =
        p->next=h->next;
        h->next=p;
        h = h->next;    //...
    }
    STUDENT *q=head->next;    //....
    while(q!=NULL){
        printf("%d\n",q->data);
        q = q->next;    //.....
    };
}

雁无留踪之意,水无取影之心
2008-11-18 14:15
virtualperson
Rank: 1
来 自:时光尽头
等 级:新手上路
帖 子:428
专家分:1
注 册:2008-10-22
收藏
得分:0 
怎么还是提示无法执行呀?
2008-11-18 15:35
cfish09
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-6-16
收藏
得分:0 
你检查下你的 编译软件 是否正常
2008-11-18 15:38
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:0 
随处定义变量不是C的性格...

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-18 15:42
virtualperson
Rank: 1
来 自:时光尽头
等 级:新手上路
帖 子:428
专家分:1
注 册:2008-10-22
收藏
得分:0 
是我太大意了,我的文件的".h"换成".cpp"就可以运行了,谢谢啊!
2008-11-18 17:55
virtualperson
Rank: 1
来 自:时光尽头
等 级:新手上路
帖 子:428
专家分:1
注 册:2008-10-22
收藏
得分:0 
我以后会注意程序中变量的使用的。
2008-11-18 17:56
virtualperson
Rank: 1
来 自:时光尽头
等 级:新手上路
帖 子:428
专家分:1
注 册:2008-10-22
收藏
得分:0 
我上边的程序中没有使用free()函数,运行结束后内存空间会不会一直被占?关机后会不会自动释放?
2008-11-19 12:31
dingyin44
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-6-14
收藏
得分:0 
我觉得应该不会一直占着,你的程序结束后,它的父进程会负责把没释放的资源释放掉
2008-11-19 15:04
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
[bo][un]virtualperson[/un] 在 2008-11-19 12:31 的发言:[/bo]

我上边的程序中没有使用free()函数,运行结束后内存空间会不会一直被占?关机后会不会自动释放?

只要程序退出,Windows会自动回收内存的,不过养成手动释放内存的习惯还是很有必要的

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-11-19 15:48
快速回复:俺哩程序错哪儿了?
数据加载中...
 
   



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

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