#include <stdio.h>
void fun();
void main()
{
int i;
for (i=0; i<0; i++) fun();
}
void fun()
{
static int cnt = 0;
cnt++;
printf("count is %d\n", cnt);
}
这只是打印空白;( 我的代码出了什么问题?
我调试了,它没有显示错误。
答案 0 :(得分:5)
您的for
循环错误。它只会在i
小于0时循环,但由于i
为0,它永远不会。
修复它的方法是改变循环的上限,如:
for (i=0; i<20; i++) fun(); // Calls fun 20 times
答案 1 :(得分:3)
您正在使用条件
运行循环i < 0
我被初始化为0.所以它永远不会小于0.
将其更改为:
for (i=0; i<10; i++) fun();
它应该运行10次。
答案 2 :(得分:3)
问题出现在for (i=0; i<0; i++) fun();
i<0
表示当i<0
为false时循环退出。因此,代码只是在不执行fun()