相关疑难解决方法(0)

C中完整的"for"循环语法是什么?

for在阅读其他人的代码时,我看到了一些非常奇怪的循环.我一直在尝试搜索for循环的完整语法解释,C但这很难,因为单词" for"出现在不相关的句子中,使得搜索几乎不可能有效地进行Google.

在阅读了这个让我再次好奇的帖子后,我想起了这个问题.

在for这里:

for(p=0;p+=(a&1)*b,a!=1;a>>=1,b<<=1);
Run Code Online (Sandbox Code Playgroud)

在中间条件下有一个逗号分隔两段代码,这个逗号有什么作用?右边的逗号我理解,因为它使得a>>=1和b<<=1.

但是在循环退出条件下,会发生什么?它是在何时p==0,何时a==1或何时发生时退出?

如果有人能帮助我理解这一点并且可能指向完整for循环语法描述的方向,那将是很棒的.

c syntax for-loop

59
推荐指数
3
解决办法
9万
查看次数

棘手的循环

我对C语言中的for循环问题感到困扰.

我写的时候:

#include<conio.h>
#include<stdio.h>
main()
{
    int i = 0;
    for( ; i ; )
    {
        printf("In for Loop");
    }
    getch();
}
Run Code Online (Sandbox Code Playgroud)

输出:没有打印.

代码执行,但printf语句由于条件没有打印.好的,这里没问题.

但是当我写这段代码时:

#include<conio.h>
#include<stdio.h>
main()
{
    for( ; 0 ; )
    {
        printf("In for Loop");
    }
    getch();
}
Run Code Online (Sandbox Code Playgroud)

输出:输入循环.

我的for循环执行了一次,但实际上它一定不能被执行.我不知道为什么?stackoverflow的编码器/程序员/黑客可以帮助我.请解释一下,为什么我的for循环只给出一次这个输出.

c for-loop infinite-loop

-1
推荐指数
1
解决办法
2644
查看次数

标签 统计

c ×2

for-loop ×2

infinite-loop ×1

syntax ×1