Konsole bleibt bei Ausgabe hängen
Verfasst: Sa Okt 06, 2018 10:00 am
Hallo! Ich programmiere in der Schule jetzt seit cirka einer Woche C und wir haben eine Aufgabe bekommen, in der wir mit "großen Integern", also Zahlen die eigentlich außerhalb des Integerbereichs sind, rechnen müssen. Wir müssen dazu die Stringeingabe Zahl für Zahl in ein Int-Array packen, welcher höchstens 80 stellen haben kann. Ich und ein Freund haben uns gemeinsam an die Aufgabe gesetzt und haben jetzt diese eine Methode ziemlich gleich, allerdings hängt sich bei mir die Konsole bei der Ausgabe auf. Nach der Eingabe kann ich so oft Enter drücken wie ich will, das Programm geht erst weiter, wenn ich eine beliebige Taste + Enter drücke. Hätte jemand eine Idee an was das liegen könnte?
Hier mein Code:
Hier die Konsolenausgabe:
Ich hoffe mir kann jemand weiterhelfen und sage im voraus schonmal danke.
Hier mein Code:
Code: Alles auswählen
int main(int argc, char *argv[])
{
struct BigInt firstNumber; //Das struct bigInt für die erste Zahl
char userInput[2]; //der userinput
printf("Pyramid of numbers\n\n");
printf("Please enter a number: " );
scanf("%s\n",userInput ); //nach diesem scanf hängt sich das Programm anscheinend auf
printf("a\na\na\na\n"); //Dieses printf existiert nur zum Testen, an welcher Stelle sich das Programm aufhängt.
int len=strlen(userInput);
len=strtobig_int(userInput, len, &firstNumber); //Aufruf der Funktion mit der ein string zu einem BigInt umgewandelt werden soll
printf("End\n");
return 0;
}
int strtobig_int(const char *str, int len, struct BigInt *big_int){
int counter=0;
for (size_t i = 0; i < len; i++) {
if(str[i]>='0'&&str[i]<='9'){
int temp=str[i]-'0';
big_int -> the_int[i] = temp;
printf("%d\n",big_int->the_int[i]); //Dieses printf existiert nur zum Testen, an welcher Stelle sich das Programm aufhängt.
counter++;
}
}
return counter;
}