Gast
20.09.2008, 05:27 PM
Hallo ihr,
ich bin C-Anfänger und versuche grade meine ersten Schritte.
Ich möchte binäre Zahlen ins Dezimalsystem umrechnen, bin allerdings nicht sonderlich weit gekommen. Ich brauche die Länge der eingegeben (binären) Zahl (die erstmal als String vorliegt).
ich bin C-Anfänger und versuche grade meine ersten Schritte.
Ich möchte binäre Zahlen ins Dezimalsystem umrechnen, bin allerdings nicht sonderlich weit gekommen. Ich brauche die Länge der eingegeben (binären) Zahl (die erstmal als String vorliegt).
Code:
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main() {
char binar[100];
scanf("%s", &binar);
size_t laenge = strlen(binar);
printf("\nLaenge: %u", laenge);
}
Dieser Code gibt mir die Länge, kein Problem. Wenn ich das allerdings in meinem Programm machen möchte...
Code:
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int toDecimal() {
int decimal = 0;
int zaehler = 1;
char binar[100];
printf("\n\nPlease enter binary number: ");
scanf("%s", &binar);
printf("\nEingegebene Zahl: %s", binar);
size_t laenge = strlen(binar);
printf("\nLaenge: %u", laenge);
...
...gehts nicht mehr. toDecimal() wird von main() aufgerufen. Die Funktion gibt eine Zahl aus, deren Anfang die Länge des Strings ist (z.B. 532 wenn der String 5 Zeichen hat).
Da frage ich mich natürlich: Warum? ![]()
Gruß, Gast