标题:表达式必须是可修改的左值
取消只看楼主
a15022606145
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2015-7-11
 问题点数:0 回复次数:1 
表达式必须是可修改的左值
程序代码:
#include <stdio.h>
#include<stdlib.h>
struct Node
{
    char name[32];
    Node * next;
};
void printz(Node * pHead)
{
    while (pHead)
    {
        printf("%s ", pHead->name);
        pHead = pHead->next;
    }
}
Node * DelLast(Node * pHead)
{
    Node * pTemp = pHead;
    if (pHead->next == NULL)
    {
        printf("只剩下一个头节点:%s\n", pTemp->name);
        free(pTemp);
        return NULL;
    }
    else
    {
        while (pTemp->next->next == NULL)
        {
            pTemp = pTemp->next;
        }
        printf("找到倒数第二个节点: %s\n", pTemp->name);
        free(pTemp->next);
        pTemp->next = NULL;
        return pTemp;
    }
}
int main()
{
    Node student[5] = {
        {"abc",&student[1]},
        {"bcd",&student[2]},
        {"cde",&student[3]},
        {"def",&student[4]},
        {"efg",NULL}
    };

    printz(student);
    
    student = DelLast(student);
    getchar();
    return 0;
}

第49行 表达式必须是可修改的左值  我返回结构体 为什么不行??
搜索更多相关主题的帖子: 表达式 Node next NULL student 
2018-10-30 10:35
a15022606145
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2015-7-11
得分:0 
回复 2楼 吹水佬
数组名不就是首地址吗
难道 我在申请Node * phead = DelLast(student);
这样?
2018-10-30 11:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490813-1-1.html




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

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