- 注册时间
- 2004-5-22
- 最后登录
- 1970-1-1
|
发表于 2007-7-16 23:33:25
|
显示全部楼层
如果这样定义
for(int i=0;i<10;i++)
{
// i只在这里起作用
}
如果是lz那种,那么i不是for循环的局部变量。
但无论如何,事实上循环中的计数与下面计算是没有关系的.....比如
for(i=1;i>10;i++)
i=10;
并不影响整个循环的十次运行.....因为在for里i已经是局部变量了. 这种说法是不对的……
lz的问题:
p1从a开始一直到a+5,那么有a+1,a+2,a+3,a+4,a+5
而p2从b+4开始,也有这么多次循环:
b+3,b+2,b+1,b,b-1...
所以循环结束的时候,p2指向的不是b而是b-1
正确的写法是把p2放在循环里面
{
*p1=*p2;
p2--;
}
这样p2就会少执行一次…… |
|