这个虚函数不起作用;(

时间:2015-05-18 00:19:54

标签: c

#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);
}

这只是打印空白;( 我的代码出了什么问题?

我调试了,它没有显示错误。

3 个答案:

答案 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()

的情况下退出