我能';我不理解下面代码中c=0和l=0的位置
我无法理解下面代码中c=0和l=0的位置。这里n是数组a中的元素数,m是数组b中的元素数我能';我不理解下面代码中c=0和l=0的位置,c,C,我无法理解下面代码中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++; }
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++;}
}
for(i=2;i根据我在评论中读到的内容,似乎让你感到困惑的是所谓的局部变量
当您在某个地方定义变量时,它的范围实际上只覆盖它写入的块的限制(从{
到}
)。当您进入块时,它的空间在堆栈中动态保留,当您离开块时,它的空间会随着堆栈帧的破坏而自动释放
最好只在真正使用变量的地方声明变量,而不是在程序顶部收集所有声明。首先,因为这样可以确保只在需要时分配内存,并尽快自动释放内存。然后,因为这样可以避免使用标识符污染命名空间,而ch可以在不相关的地方进行评估,使bug更难发现。它使用值0
初始化变量c
。欢迎这样做!我不确定你在问什么。这会将值0分配给整数变量c
。我想知道如果在程序开始时初始化c=0的区别。d不同之处在于,它不会在外部循环的每次迭代中都设置为零。我不知道你的代码的上下文有多重要;一般来说,如果你不使用幻数或变量,阅读起来会更容易。它们没有在那里声明。你错了。请检查版本历史。自从我发布此答案以来,代码已经更改了7次。你看到的与原始帖子没有多大关系。