int main (void)
{
int i = 1;
int arrayOfNumbers[4];
for(i = 1; i >= 4; i++)
{
printf("Enter a Number");
scanf("%d", &arrayOfNumbers[i]);
}
return 0;
}
我的编译器编译程序,但是for循环不会发生。这个程序简直是愚蠢的。如何创建一个旨在分配数组所有值的循环?
更改:
for(i = 1; i >= 4; i++)
{
printf("Enter a Number");
scanf("%d", &arrayOfNumbers[i]);
}
return 0;
至:
for(i = 1; i <= 4; i++)
{
printf("Enter a Number");
scanf("%d", &arrayOfNumbers[i]);
}
return 0;
由于1不大于4,因此不会通过for循环。
这是for
循环的正确声明:
for ( init-expression ; cond-expression ; loop-expression )
在您的代码中,将i
的初始值设置为1,在condition-expression
中,您的代码在1
不大于4
的第一条件本身中失败。
您的for
循环声明应为
for(i = 1; i <= 4; i++)
{
//code to be executed
}
您的程序的完整代码:
#include<stdio.h>
int main (void)
{
int i = 1;
int arrayOfNumbers[4];
for(i = 1; i <= 4; i++)
{
printf("Enter a Number \n");
scanf("%d", &arrayOfNumbers[i]);
}
printf("Your Entered number is.. \n");
for(i = 1; i <= 4; i++)
{
printf(" %d",arrayOfNumbers[i]);
printf("\t");
}
return 0;
}
下面的代码给我们输出为,
Enter a Number
1
Enter a Number
2
Enter a Number
3
Enter a Number
4
Your Entered number is..
1 2 3 4
您必须将连续性的条件更改为i <= 4而不是我> = 4