#include "stdafx.h"
#include <string.h>
int main(int argc, char* argv[])
{
char szbuf[2] = {0};
1. sprintf(szbuf, "%s", "ssss");
2. strcat(szbuf, "ssssssssssx");
//strcat(szbuf, "xxxx");
int i = strlen(szbuf);
printf("Hello World!\n");
return 0;
}
当程序只有1 的时候没有问题。
程序只有2 的时候有问题。 这两句的效果不是一样马??  都越界了, 为什么有的有问题有的没有??

解决方案 »

  1.   

    楼上zx_sanjin(恒金软件)的看法完全正确。有次我的一程序也是数组越界了,程序也没报错,但它把我的另一个数组数据破坏了,可能这两个数组的空间是紧紧相邻的,可怜我发现第二个数组数据异常后费了半天功夫去跟踪它的变化,结果当然是徒劳无功,后来才发现是第一个数组越界惹的祸。T_T
      

  2.   

    To chinarendotcom (chinarendotcom):
    你到底明不明白啊?不明白你就说出来啊,你UP是啥意思啊?真搞不懂!
      

  3.   

    To zx_sanjin((恒金软件) - 不结贴我跟你急!) :
      我先祝你早日位列星班了,呵呵。