解决该问题的方法:使用strcpy函数进行字符串拷贝
 
原型声明:char *strcpy(char* dest, const char *src);
头文件:#include <string.h> 和 #include <stdio.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针
 
 // testArray.cpp : 定义控制台应用程序的入口点。

 #include "stdafx.h"
#include "string.h" #define MAX_AGE_SIZE 120
#define MAX_NAME_SIZE 100 typedef enum{//枚举值定义
walking = ,
running = ,
swimming = ,
jumpping = ,
sleeping =
}Hobby; typedef enum{
Chinese = ,
English = ,
Japanese =
}Language; typedef struct People{//结构体定义
union{//联合体定义,使用方法和struct类似
struct{
char age[MAX_AGE_SIZE];
char name[MAX_NAME_SIZE];
}Child;
Hobby hobby;
Language language;
}Student;
}People; int _tmain(int argc, _TCHAR* argv[])
{
char name1[MAX_NAME_SIZE] = {"test1"};
char name2[MAX_NAME_SIZE] = {"test2"}; People p[];
//p[0].Student.Child.age = "10";//报错:表达式必须是可修改的左值(原因:字符串不能直接赋值 )
strcpy(p[].Student.Child.age,"");//使用strcpy函数实现字符串拷贝
strcpy(p[].Student.Child.name,name1);
p[].Student.hobby = walking;
p[].Student.language = Chinese; strcpy(p[].Student.Child.age,"");
strcpy(p[].Student.Child.name,name2);
p[].Student.hobby = running;
p[].Student.language = English; printf("Student1's name:%s\n",p[].Student.Child.name);
return ;
}

C语言执行时报错“表达式必须是可修改的左值,无法从“const char [3]”转换为“char [120]” ”,原因:字符串不能直接赋值的更多相关文章

  1. PyQt程序执行时报错:AttributeError: 'winTest' object has no attribute 'setCentralWidget'的解决方法

    用QtDesigner设计了一个UI界面,保存在文件Ui_wintest.ui中,界面中使用了MainWindow窗口,窗口名字也叫MainWindow,用PyUIC将其转换成了 Ui_wintest ...

  2. 高版本 MySQL 导出的脚本到低版本 MySQL 中执行时报错

    导入 MySQL 脚本时报错:[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'低版本还不支持 utfmb4 这个字符集 解决方法:将 sql 脚 ...

  3. mac Robotframework执行时报错Robot Framework installation not found.

    虽然已经装了,但一直报错 ,版本是3.1.1 最新版 ➜  ~ pip install robotframework DEPRECATION: Python 2.7 will reach the en ...

  4. Android项目执行时报错NoclassDefFoundError

    导Android项目时碰到个头疼的NoclassDefFoundError. 项目导入之后是没有报错的.可是执行就报这个错误 java.lang.NoClassDefFoundError: andro ...

  5. 问题:程序编译通过,但是执行时报错:coredump

    问题描述: 在一个客户现场搭建环境时,遇到了一个棘手的问题,C代码编译通过后,无法正常运行,启动会出现“coredump”错误. 运行环境为新搭建的AIX6.1,数据库为Oracle11.2.0.2. ...

  6. jmeter通过ant执行时报错 jmeter.log not found

    原因:权限执行不够,改为root用户即可 :sudo  su 日志报错如下: test: [jmeter] Executing test plan: /home/ec2-user/jmeterProg ...

  7. pyinstaller打出的EXE包执行时报错“failed to excute ”信息

    我的程序是selenium自动化脚本,打包时执行的是 Python pyinstaller -F --onefile -w  XXX.py 这样打出的包执行后提示“failed to excute s ...

  8. sql server 作业导出放到另外一台机器执行时报错的解决方法

    SQL Server2008脚本创建作业失败,提示: 引用内容消息 515,级别 16,状态 2,过程 sp_add_job,第 137 行不能将值 NULL 插入列 'owner_sid',表 'm ...

  9. 初始化mysql数据库 /usr/bin/mysql_install_db执行时报错

    错误描述: FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install ...

随机推荐

  1. 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App

    0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...

  2. 微信小程序实例

    看到小程序,那么火,自己也想动手写一个.但是没有很好的api接口.有一天看到一个开发安卓的朋友,写了一个干货集中营的小程序.就搜了一下.看到api是免费开放的.于是自己也动手写了一个. 具体的微信小程 ...

  3. 5分钟开启Esper之旅

    原作者:CoffeeOneSugar 翻译:刘斌华 在我之前发表的文章中,我提到我最近热衷于Complex Event Processing (CEP) (复杂事件处理).简单来说,CEP把数据流作为 ...

  4. jQuery选择器方式-用的不多的name选择器

    id:$("#id") name:$("[name='name']") class:$(".class") element:$(" ...

  5. shell随机输出一人的学号与姓名

    如果要多输出,可以分成*组,然后从每组中输出一个(这里是分为3组)

  6. 通知Notification

    步骤: 1.调用getSystemService()获取NotificationManager:NotificationManager manager = (NotificationManager)g ...

  7. NSUserDefaults的使用

    创建一个user defaults方法有多个,最简单得快速创建方法: NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefa ...

  8. AFN设置请求超时时间

    进入AFURLRequestSerialization.m 找到 - (NSMutableURLRequest *)requestWithMethod:(NSString *)method URLSt ...

  9. JQ完成表格单元格顺序的上移下调

    如有指教及疑问,欢迎留言 HTML代码 <table class="exampletable"> <thead> <tr> <th> ...

  10. 已禁用对分布式事务管理器(MSDTC)的网络访问的解决方法之一

    C# ASP.NET项目提示上述错误,在代码中使用分布式事务提示添加或修改到数据库的时候.添加数据到数据库时,不会设置实体类的主键字段.