char buff[1024];【1】
int ret =0;
for (long i = 0;i<100000; i++)
{
//char buff[1024];【2】
sprintf(buff,"%d",i) ;
ret = send(s,buff,sizeof(buff),0);
}
问题来了:
1.buff变量放在【1】处
i 循环到70000+时就退出了,发现i值变成大于10万的随机值了。
这是什么原因呢。
是不是buff内存补破坏了吗?
2.buff变量放在【2】
虽然程序没有出错,但是原因不明白,所以还是不放心。
分数不多,诚心求教。
...全文
1592打赏收藏
一个简单的for循环引起的错误
本人在学习sokcet时,遇到一个问题,求好心人解惑: char buff[1024];【1】 int ret =0; for (long i = 0;i<100000; i++) { //char buff[1024];【2】 sprintf(buff,"%d",i) ; ret = send(s,buff,sizeof(buff),0); } 问题来了: 1.buff变量放在【1】处 i 循环到70000+时就退出了,发现i值变成大于10万的随机值了。 这是什么原因呢。 是不是buff内存补