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