c - 为什么索引值为0时没有输出

标签 c

将索引的值从 o 更改为 1。循环正在打印值。 index赋值为0时为什么不打印任何值?

当前 i = 0 - 无输出 使 i = 1 - 无限循环

#include<stdio.h>

int main()
{
    for(int i = 0;i++;i<100)
    {
        printf("Mahesh\n");
    }
}

enter code here

最佳答案

C for loop结构:

for ( init; condition; increment )

你实际上已经添加了i++代替条件和i<100代替增量。

for loop的流量控制在 C:

  • init 步骤最先执行且仅执行一次。
  • 接下来评估条件,如果为真,则执行循环体。如果为 False,则循环体不执行,流程跳转到 for 循环后的下一条语句。
  • 循环体执行一次后,流程控制跳转到增量语句,然后再次计算条件。
  • 循环体、条件和增量步骤以相同的顺序重复,直到条件变为 False,然后 for 循环终止。

你的循环是:

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++)

关于c - 为什么索引值为0时没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54566920/

相关文章:

c - sendto 失败 UNIX 域套接字

c - 使用 Turbo C 3.0 在 C 中进行内联汇编 - 如何获取标签的地址

c - 从 fgets() 输入中删除尾随换行符

c - 使用结构体指针读取成员变量

c - C语言中使用while条件根据用户选择生成英文字母

c - 如何在运行时将存储在文件中的字符数组读入字符缓冲区

c - 改进我的链表合并排序。如何?

c++ - .png 图像信息

在 C 和 Haskell 的相互递归中编译尾调用优化

无法将我的一维数组传递给 C 中的函数