问题描述
- C语言,这个错误是什么意思呀?
#include
#include
struct data
{
char s[30];
int n;
float x;
};
struct data example()//定义结构体类型函数
{
struct data emp;
strcpy_s(emp.sAn example!"");
emp.n = 68;
emp.x = 213.52;
printf(""%s%d%fn"" emp.s emp.n emp.x);
printf(""Function to run after:n"");
return(emp);
}
void main()
{
struct data redata;
printf(""nOperation function:n"");
redata = example();
printf(""%s%d%fn"" redata.s redata.n redata.x);
}
解决方案
http://blog.csdn.net/johnny710vip/article/details/6681160
解决方案二:
你参数不对,还要给一个长度的参数,这样才能防止越界拷贝。
解决方案三:
strcpy_s多一个参数,第二个参数是字符串长度。
解决方案四:
strcpy 和strcpy_s 参数列表不一样strcpy_s还多一个字符串长度
解决方案五:
strcpy 和strcpy_s 参数列表不一样吧
解决方案六:
struct data example()
函数中结构体的作用域只在函数体中生效,应该用指针接收返回值,函数中应该分配堆空间
时间: 2024-09-12 13:54:58