我无法理解以下代码中 c=0 和 l=0 的位置。这里 n 是数组 a 中的元素数,m 是数组 b 中的元素数。
for(i=2;i<=16;i++){
c=0;
for(j=0;j<2;j++)
{
if(i%a[j]==0)
c++;
}
if(c==2)
{
l=0;
for(k=0;k<3;k++)
{
if(b[k]%i==0)
l++;
}
if(l==3)
count++;}
}
请帮忙。谢谢。
根据我在评论中读到的内容,似乎让您感到困惑的是所谓的local variables。
当你在某处定义一个变量时,它的范围实际上只跨越它写入的块的限制(从{
到}
)。它的空间在您进入块的那一刻在堆栈中动态保留,并在您离开它时自动释放,因为堆栈帧被销毁。
只在真正使用变量的地方声明变量总是一个好主意,而不是在程序顶部收集所有声明。首先是因为您以这种方式确保您的内存仅在您需要时才分配,并且会尽快自动释放。然后因为它避免了使用标识符污染命名空间,这些标识符可以在不相关的地方进行评估,从而使错误更难找到。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句