首先x,m,xm都只是指针变量,x,m指向常量字符串"王"和"大宝"
其次,strcpy函数原型:
char *strcpy(char *dest, char *src);
函数吧src字符串复制到dest所指的数组中,这里潜在的要求是dest所指的不能是常量字符串,否则程序即使不报错,也会运行出错。函数返回值是指向dest的指针。
这是因为常量字符串不能被修改。
你的程序会运行错误。
至于修改成strcpy_s,这只是增强了函数的安全,并不改变strcpy函数的要求。
strcpy_s函数的原型是:
strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
第二个参数是strDestination字符串的大小,用意是控制复制的字符数,最多复制numberofelements个字符