fishyuyee 2023-02-19 08:37 采纳率: 100%
浏览 26
已结题

关于#c++#的问题:结构体CandyBar,往第一个成员里赋值程序报错,显示表达式必须是可更改的左值

结构体CandyBar,往第一个成员里赋值程序报错,显示表达式必须是可更改的左值,求指教。


#include <iostream>
#include <cstring>
using namespace std;

const int SLEN=30;
struct CandyBar{
    char Name[SLEN];
    double weight;
    int heat;
};
void setinfo(CandyBar c, string nam, double w)
{
    c.Name= nam;//报错
    c.weight = w;
    c.heat = 350;
}
void display(CandyBar cc)
{
    cout << "The name is" << cc.Name << endl;
    cout << "The weight is" << cc.weight << endl;
    cout << "The heat is" << cc.heat << endl;
}
int main()
{
    CandyBar cc;  
    //用后面的三个参数值,完成对第一个参数变量cc 的初始化)
    setinfo(cc,"WW",3.35);
    //显示参数cc的具体信息,显示格式如下:
    //The name is WW
    //The weight 3.35 
    //The heat is 350 
    display(cc);
}

展开全部

  • 写回答

3条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-02-19 08:53
    关注
    • 字符数组 赋值,用strcpy;
    • string 赋值给 char数组,参考如下:
    strcpy(c.Name,nam.c_str());
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    Huazie 2023-02-19 08:58

    完整代码:

    
    #include <iostream>
    #include <cstring>
    using namespace std;
     
    const int SLEN=30;
    struct CandyBar{
        char Name[SLEN];
        double weight;
        int heat;
    };
    void setinfo(CandyBar c, string nam, double w)
    {
        strcpy(c.Name,nam.c_str());
        c.weight = w;
        c.heat = 350;
    }
    void display(CandyBar cc)
    {
        cout << "The name is" << cc.Name << endl;
        cout << "The weight is" << cc.weight << endl;
        cout << "The heat is" << cc.heat << endl;
    }
    int main()
    {
        CandyBar cc;  
        //用后面的三个参数值,完成对第一个参数变量cc 的初始化)
        setinfo(cc,"WW",3.35);
        //显示参数cc的具体信息,显示格式如下:
        //The name is WW
        //The weight 3.35 
        //The heat is 350 
        display(cc);
    }
    
    

    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月23日
  • 创建了问题 2月19日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部