2017-08-23 1 views
0

Ich habe dieses Vektor:Funktion druckt nicht alle meine Vektorelemente

int vec[7]={32, 16, 8, 4, 2, 1, 0}; 

und diese Funktion:

void print(int v[]) 
{ 
    int i; 
    for(i=0;i<6;i++) 
     printf("%d", v[i]); 
} 

aber ich verstehe nicht, warum sie nicht die 0 druckt bei das Ende. Warum? Wie kann ich das Problem beheben?

+3

Die 'vec' Array-Größe ist 7. – aristotll

+1

@ aristotll Ja, ich kann 7 Elemente sehen. Aber siehe die Schleife: 'für (i = 0; i <6; i ++)'. Es beginnt mit dem Zählen von 0, also sollte es auch die '0' zählen, da '0, 1, 2, 3, 4, 5, 6' 7 Elemente sind. – MyNameIsJeff

+2

Aber es stoppt bei 5 ... – aristotll

Antwort

2

Arbeitscode ist http://rextester.com/LBLJPN72634

#include <stdio.h> 

int main(void) 
{ 
    int vec[7]={32, 16, 8, 4, 2, 1, 0}; 

    print(vec); 
    return 0; 
} 

void print(int v[]) 
{ 
    int i; 
    for(i=0;i<7;i++) 
     printf("%d\n", v[i]); 
} 
5

sollten Sie Ihre ändern for-Schleife:

for(i=0;i<7;i++) 

oder an:

for(i=0;i<=6;i++)