我目前正在尝试使用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);
}
}
}
}
答案 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);
}