Vektor size über Funktion bestimmen in C

Gast #2963572
Lesenswert?
• ▲
▼
Hallo, ich habe folgendes Problem. Mit dem nachfolgenden Programm möchte 
ich einen Vektor einlesen und die Laenge(mit Hilfe einer Funktion) von 
ihm bestimmen. Es liefert auch für einen Vektor von Groesse 1-7 das 
richtige Ergebnis aber wenn ich für size=8,9,10 eingebe, wird immer 11 
angegeben. Woran kann das liegen?
1
#include <stdio.h>
2
#define max 10
3

4
int einlesen(char x[max]){
5
    int anzahl_zeichen;
6
    anzahl_zeichen = strlen(x);
7
    return anzahl_zeichen;
8
}
9

10
int main(void){
11
    int i,size;
12
    char b[max];
13
    printf("Einen Vektor mit max %d Zeichen eingeben!\n", max);
14
    printf("Wie viele Einträge wollen sie eingeben?\n");
15
    scanf("%d", &size);
16
    for(i=0;i<size;i++){
17
        printf("b[%d] = ",i);
18
        scanf("%c\n", &b[i]);
19
    }
20

21
    printf("Länge des eingegebenen Vektors:%d ", einlesen(b));
22

23
}

Ich hoffe jemand kann mir weiterhelfen.
Vielen Dank!
Viele Grüße, Tom

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren