将index的值从o更改为1。循环为打印值。为什么将索引分配为0时不打印任何值?
当前i = 0-无输出 使i = 1-无限循环
#include<stdio.h>
int main()
{
for(int i = 0;i++;i<100)
{
printf("Mahesh\n");
}
}
enter code here
答案 0 :(得分:1)
C for loop
结构:
for ( init; condition; increment )
您实际上已经在条件的位置添加了i++
,在增量的位置添加了i<100
。
C中for loop
的流控制:
您的循环是:
for(int i = 0;i++;i<100)
在此,您将i++
作为条件。现在,在此i
中首先求值,然后是++
。由于i is 0
,当条件评估为False
时,它导致循环退出。但是,如果您更改i to 1
,则条件(即i)的计算结果为True
,并进入循环。
如果您没有故意这样做,则需要如下所示的循环:
for (int i = 0; i < 100; i++)
答案 1 :(得分:1)
C语言中for循环的语法如下:
for ( init; condition; increment ) {
statement(s);
}
-init:使用您要从其开始迭代的值初始化索引变量。
-condition:迭代继续进行直到满足的条件
-incremenet:指示您希望程序通过多少来索引索引
在您的示例中,因此应为:
for(int i = 0; i < 100; i++){
//yourcode
}
希望有帮助
答案 2 :(得分:0)
for循环的参数为:
for (int i=0; i < payloadDTOList.size(); i++) {
PayloadDTO payloadDTO = (PayloadDTO) payloadDTOList.get(i);
if(payloadDTO.getEntType().equals(CommonConstants.CUSTOMENTTYPEROLEID.RES_ROLE_TYPE)) {
resRoleNameList.add(payloadDTO.getEntName());
}
}
初始化可以用逗号分隔多个。 如果条件为1(或值TRUE,表示与1相同),则条件将继续;如果条件不满足(即值0(或FALSE)),则条件将中断。您也可以使用&&或||来具有多个条件。或逗号。 第三个参数是您要在下一次迭代中执行的操作。它也可以有多个命令。我建议您运行以下代码并对其进行更改以观察结果:
for(initialization; Condition; Next iteration initialization){
//code
}
答案 3 :(得分:0)
#include<stdio.h>
int main()
{
int i = 0;
// Postfix Increment Operator
for (i = 0; i++; i<100) // Condition is false, Because the i is Zero
{
printf("Mahesh");
}
printf("%d", i); // i outputs One here
// Prefix Increment Operator
for (i = 0; ++i; i<100) // Condition is True, Because the i is One
{
printf("Mahesh");
}
}