C语言动态链表不知道怎么输出节点数据

问题是这个大神快来啊... 问题是这个

大神快来啊
展开
 我来答
xoaxa
推荐于2016-02-07 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3710万
展开全部
int main() {
    int i,x,y;
    point *head,*p;
    head = p = (point *)malloc(sizeof(point));
    while(scanf("%d%d",&x,&y) != 2) {
        p->next = (point *)malloc(sizeof(point));
        p->next->x = x;
        p->next->y = y;
        p = p->next;
    }
    p->next = NULL;
    // 链表创建完毕,下面输出链表内容
    p = head->next;
    while(p) {
        printf("(%d,%d) ",p->x,p->y);
        p = p->next;
    }
    printf("\n");
    return 0;
}
追问
没解决啊
追答

每输入一个点坐标,就按一次Enter键。

int main() {
    int i,x,y;
    point *head,*p;
    head = p = (point *)malloc(sizeof(point));
    while(scanf("%d%d",&x,&y) != 2) {
        if(x < 0 || y < 0 || x > 10 || y > 10) {
            printf("Out of range,Try again!\n");
            continue;
        }
        p->next = (point *)malloc(sizeof(point));
        p->next->x = x;
        p->next->y = y;
        p = p->next;
    }
    p->next = NULL;
    // 链表创建完毕,下面输出链表内容
    p = head->next;
    if(p) {
        printf("L->(%d,%d)",p->x,p->y);
        p = p->next;
    }
    while(p) {
        printf("->(%d,%d)",p->x,p->y);
        p = p->next;
    }
    printf("\n");
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式