代碼:
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.