代码:
char str1[10],str2[10]; for (int i=0;i<10;i++) { str1[i]=‘a‘; } strcpy(str2,str1);
让找出错误的地方。
先来看下strcpy函数:
使用格式:char* strcmp(char* buffer,char*str)
功 能: 把从str地址开始且含有NULL结束符的字符串复制到以buffer开始的地址空间,buffer地址空间中必须有足够的空间来容纳str的字符串。 转自此文
所以上面代码错误的地方就是str1中没有结束符,VS2010下运行出现错误:Run-Time Check Failure #2 - Stack around the variable ‘str1‘ was corrupted.
原文地址:https://www.cnblogs.com/Tang-tangt/p/9338727.html
时间: 2024-10-07 11:42:38