C程序没有达到For循环

时间:2014-10-24 15:44:12

标签: c for-loop input printf

我目前正在尝试使用NetBeans IDE编写一个C程序。目标是从用户那里获取他们想要在屏幕上绘制的数量的输入,其中字母“I”是一根棍子,如事情是,我使用scanf获取每行的用户输入,但是程序执行并运行但实际上似乎从未到达for循环,因为它不执行任何打印语句。我的IDE不会在for循环中打印任何打印语句,这就是为什么我假设它没有到达它们。

我试过简单地假设用户输入的值,而不是使用scanf,但这似乎也没有达到for循环。关于我可以做些什么来解决这个问题的任何意见,将不胜感激!

#include <stdio.h>
int main(void) {
    int length1, length2, length3;
    int inputRow1, inputRow2, inputRow3;
    printf("Please enter the number of Sticks you would like per row\n");
    scanf("%d%d%d", inputRow1, inputRow2, inputRow3);
    for (length1 = 0; length1 < inputRow1; length1++) {
        printf("I");
        for (length2 = 0; length2 < inputRow2; length2++) {
            printf("I");
            for (length3 = 0; length3 < inputRow3; length3++) {
                printf("I");
                return (0);
            }
        }
    }
}

1 个答案:

答案 0 :(得分:5)

使用scanf时,您应使用&将值存储在变量中。

更改

scanf("%d%d%d",inputRow1,inputRow2,inputRow3); 

scanf("%d%d%d",&inputRow1,&inputRow2,&inputRow3);

您的return声明应该在退出main()

之前

例如:

#include <stdio.h>

int main()
{
    int length1,length2,length3;
    int inputRow1,inputRow2,inputRow3;
    printf("Please enter the number of Sticks you would like per row\n");
    scanf("%d%d%d",&inputRow1,&inputRow2,&inputRow3);
    for(length1=0;length1<inputRow1; length1++)
    {
        printf("I");
        for(length2=0;length2<inputRow2;length2++)
        {
            printf("I");
            for(length3=0;length3<inputRow3;length3++)
            {
                printf("I");
            }
            printf("\n");
        }
        printf("\n");
    }
    printf("\n");
    return(0);
}