我是初学者。好吧,我只是尝试了数据结构,无法理解为什么我会收到错误。我认为发布我正在获得的代码和输出会更好。 (顺便说一句,我使用的是C-Free 4.0编译器)。所以这是代码
//编写一个C程序来输入和显示数组的元素
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[44],n,i=0;
// No. of elements:
printf("\n How many elements in all?");
scanf("%d",&n);
// Entering all elements:
printf("\n\n Plz do enter the elements:");
for(;i<n;i++)
scanf("%d",&a[i]);
// Displaying all elements:
printf("\n Array elements are:");
for(i=0;i<n;)
{
printf("\n a[%d]=%d",i,a[i]);
i++;
break;
}
int sum=0;
for(i=0;i<n;i++)
{
sum=sum+a[i];
}
printf("\nSum=%d",sum);
return 0;
}
/*
And here's the output when I say that I'm entering 3 elements into the array:
How many elements in all?3
Plz do enter the elements:12
0
-22
Array elements are:
a[0]=12
Sum=-10Press any key to continue . . . */
好大家都可以看到,我可以输入值(i = 0; i
答案 0 :(得分:4)
for(i=0;i<n;)
{
printf("\n a[%d]=%d",i,a[i]);
i++;
break;
}
你已经放了一个break;
所以它只打印1个元素。
删除break;
,它将全部打印。
此外,您可以将i++
放在条件i<n
旁边,如下所示。
for(i=0;i<n;i++)
{
printf("\n a[%d]=%d",i,a[i]);
}
答案 1 :(得分:2)
for(i=0;i<n;)
{
printf("\n a[%d]=%d",i,a[i]);
i++;
break;
}
这里你正在使用的break语句让你走出循环。 删除break语句,它将打印数组的所有元素....
答案 2 :(得分:0)
for()循环可以两种方式使用,
for (Start value; end condition; increase value)
statement;
或
Start value = initialization;
for (; end condition;){
statement;
increase value;
}
在您的代码中,Start值初始化为i = 0,因此您可以尝试任何一种方式,但最好先接受,以便于清晰。