--------------------------------浩强呀,,浩强....-----------------------------------这个 链表 代码 绝对有错,,,

#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<string.h>
#include<stdlib.h>
#include<malloc.h>
#define len sizeof(struct student)
struct student
{
    long num;
    float score;
    struct student *next;
};
using namespace std;
int n;
struct student *creat()
{
    struct student *p1,*p2,*head;
    n=0;
    p1=p2=(struct student *)malloc(len);   //开辟了一个 长度为  len的空间用强制转换类型    得到它的首地址...赋给p1...p2....
    scanf("%ld%f",&p1->num,&p1->score);    //在地址前面加上 地址运算符,,表示对这个地址的数据进行操作....
    head=NULL;                             //让头指针归零(没有什么卵用)......好像
    while(p1->num!=0)                      //
    {
        n++;
        if(n==1)
            head=p1;
        else
            p2->next=p1;
        p2=p1;
        p1=(struct student *)malloc(len);
        scanf("%ld%f",&p1->num,&p1->score);
    }
    p2->next=NULL;
    return head;
}
void print(struct student head)
{
    struct student *p;
    p=head;
    if(head!=NULL)
    {
        do
        {
            print("%ld%f",p->num,p->score);
            p=p->next;
        }while(p!=NULL);
    }
}
void main()
{
    struct student *head;
    head=creat();
    print(head);
}

---------------------------输出代码-----------------------------------------------------

#include<stdio.h>
#include<stdlib.h>
#define len sizeof(struct student)
struct student
{
    long num;
    float score;
    struct student *next;
};
int n;
void print(struct student *head)
{
    struct student *p;
    p=head;
    if(head!=NULL)
    {
        do
        {
            printf("%ld%5.1f\n",p->num,p->score);
            p=p->next;
        }while(p!=NULL);
    }
}
时间: 2024-11-06 21:45:33

--------------------------------浩强呀,,浩强....-----------------------------------这个 链表 代码 绝对有错,,,的相关文章

20个最强的基于浏览器的在线代码编辑器

20个最强的基于浏览器的在线代码编辑器,你听过或者用过吗? 1. Compilr Compilr是一个在线编译器和在线IDE.可以用它来开发PHP, C, C++, Ruby.在浏览器中编译Java, C# 和 VB.net等. 马上使用 2. Dabblet 跨浏览器兼容,对前端攻城师们来说是一个不得不处理的问题.为了在浏览器间呈现统一的显示效果,攻城师们不仅要为每个游览器添加CSS前缀,甚至还需要用到一些特殊的CSS Hack技巧.于是,jsFiddle.JSBin等前端代码的在线测试工具应

GitHub 上下载代码运行报错 :&#39;The sandbox is not sync with the Podfile.lock\&#39;

问题描述: github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行.出现例如The sandbox is not sync with the Podfile.lock问题时候,如下所示 diff: /../Podfile.lock: No such file or directory diff: Manifest.lock: No such file or directory error: The sandbox is not in sync

Eclipse导入Web项目后代码不报错但项目报错(左上角有红叉)解决方案

在学习别人的项目时,导入Web项目到Eclipse中时代码不报错但项目报错(左上角有红叉).开发环境:J2EE5+JDK8,IDE使用Eclipse开发,代码文件没有任何报错,不管是java文件.jsp文件还是xml文件,总之项目下的任何文件都是正常的,没有任何报错提示,但是项目图标的左上角就是有红叉! 解决方案一:请检查build path中Libraries下的jar包是不是有报错提示. 解决方案二:请检查你的各处Java版本配置是否一致,体现在三个地方:build path中jre版本,J

2017年世界500强榜单,500强亏损公司,强最赚钱的50家公司

2017年世界500强榜单发布:腾讯阿里首次登榜 2017年07月20日 20:03:51 财富中文网于北京时间2017年7月20日晚与全球同步发布了最新的<财富>世界500强排行榜. 沃尔玛连续四年排名第一位,2016年营业收入达4,858.7亿美元,同比提升0.8%.前三阵营中的其它两家为中国公司--国家电网和中石化.中石油和丰田汽车分列第四和第五.唯一新进入前十阵营的是沃伦巴菲特掌管的保险和投资集团伯克希尔-哈撒韦公司.如今伯克希尔收入中近四分之三来自经营业务而非财务投资,在挣脱巴菲特光

java单链表代码实现

用惯了C++,java写起来果然不太爽...不废话了,上代码... package javaInnerclassDemo; class Link{ class Node{ private String name; private Node next; public Node(String name){ this.name=name; } public void setname(String name){ this .name = name; } public String getname(){

7、链表(下):如何轻松写出正确的链表代码?

很汗颜,现在让自己完整的写出一个简单的链表结构竟然会无法动笔,作为一个程序猿,需要修行的路还很长. 技巧一:理解指针或引用的含义 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量. 例子: p->next = q.这行代码的意思是p节点的next指针存储了q节点的内存地址. 同理, p->next = p->next->next.这行代码的意思是p节点的next指针存储了p节点的下下一

5-2******* 测试自己的Leetcode链表代码

1 class Solution3 { 2 3 public ListNode removeElements(ListNode head, int val) { 4 5 ListNode dummyHead = new ListNode(-1); 6 dummyHead.next = head; 7 8 ListNode prev = dummyHead; 9 while(prev.next != null){ 10 if(prev.next.val == val) 11 prev.next =

双链表代码实现和讲解

1.什么是链表 请移步看我前一篇https://www.cnblogs.com/han200113/p/11549338.html 2.双链表和单链表有什么不同?                                双链表相比单链表的date域(节点内容)和next(指向下一个节点)多了一个pre(指向前一个节点) 单链表只能向后或向后查找,而双链表由于有节点pre,可实现向前和向后查找 单链表的删除需要借助前一个节点,双链表可改变自身前后节点的指向实现自我删除(详情看代码部分) 3.

如何优雅的写出链表代码

理解指针或引用的含义 含义: 将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用). 示例: p—>next = q; 表示p节点的后继指针存储了q节点的内存地址. p—>next = p—>next—>next; 表示p节点的后继指针存储了p节点的下下个节点的内存地址. 警惕指针丢失和内存泄漏(单链表) 1.插入节点 在节点a和节点b之间插入节点x,b是a的下一节点,,p指针指向节点a,则造成指针丢失和内存泄漏的代码:p—>next