我在我的程序中哪里犯了一个错误,我认为这是一个逻辑错误,但我找不到它

时间:2016-10-10 18:29:17

标签: c

我有这个程序,我写的,它符合,但我不认为它输出正确。我在这里弄错了吗? 这是我的计划:

#include <stdio.h>

void main(void)
{
    int loop_counter = -8;
    int user_input = 9;
    char c1 = '9';
    char c2 = 43;

    while(loop_counter != 21);
    {
        printf("%d\n", loop_counter);
        printf("%d\n", loop_counter+1);
        printf("%d\n", loop_counter+2);

        loop_counter = loop_counter + 1;
        loop_counter++;

        printf("%d\n", loop_counter);
        printf("%d\n", loop_counter+1);
        printf("%d\n", loop_counter+2);

        getchar();
    }

    printf("loop exit\n\n");    
    getchar();
}

2 个答案:

答案 0 :(得分:1)

最大的问题可能是你没有明确表达你希望代码会做什么,或者你想要代码做什么或你认为它做什么。我假设你只需要一些帮助,所以我的尝试就在下面。

通过编译器运行并解释错误消息有一点帮助。 马上,编译器不喜欢你对main的调用。编译器提供了一个成功修复此错误的建议,因此请遵循建议(并且不要忘记添加一个 返回0; 退出main之前的声明。 编译器生成的第二个警告是,在while语句的末尾有一个分号。它还告诉你如何解决它。按照说明操作,您应该能够生成可执行文件。

但是,您仍然会在运行时遇到问题。这可以回到你的意图。 如果上面的错误得到纠正,你的loop_counter变量会进入初始化为-8的while循环,在第19行增加1并在第20行再次增加1.调用getchar()但没有给出输入。您的程序也不使用第7,8和9行。

希望这会给你一些指导。 :)

答案 1 :(得分:0)

最大的错误是

while(loop_counter != 21);

其中尾随;将使循环无限。