- This topic has 1 reply, 2 voices, and was last updated 14 years, 6 months ago by .
Viewing 1 reply thread
Viewing 1 reply thread
- The forum ‘C Programming’ is closed to new topics and replies.
Home › Forums › C Programming › c array bound
Hai
I am getting problem in my c program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<br /> main()<br /> {<br /> int a[3],i,n,s=0;<br /> printf("Enter the n value..n");<br /> scanf("%d",&n);<br /> printf("Enter the values one by one...n");<br /> for(i=0;i<n;i++)<br /> {<br /> scanf("%d",&a);<br /> s=s+a;<br /> }<br /> printf("the sum is %d",s);<br /> }<br /> <br /> input:<br /> Enter the n value..<br /> 5<br /> Enter the values one by one...<br /> 1<br /> 3<br /> 2<br /> 3<br /> 6<br /> the sum is 14<br /> |
problem is
array declared size is 3(a[0],a[1],a[2] so it can hold one 3 values) the value enterd through keyboard is 5(ie., n=5) still it gets the 5 values and add all the 5 values how it is possible when the size is 3
please give the solution for the same output.
It looks like in the code below you are you are only using the first item in the array ( a [ 0 ] ) to read in values in the for loop:
scanf(“%d”,&a);
you then add the address of the address of the first item in the array to ‘s’:
s=s+a;
and then print this sum. I think you should try:
s = s + a [ 0 ] ;
for the proper result. To read stepping through the array do:
for( i = 0 ; i < n ; i ++ )
{
scanf ( “%d” , &a [ i ] );
s = s + a [ i ];
}