Hallo,
ich habe ein kleines C-Programm (nicht C++), in dem ich der Variablen Errors_in_StringX einen Wert zuweise und die Variable Errors_in_NumX ändert sich (siehe 4. Codezeile in der While-Schleife). Ich hab das Programm mal soweit gekürzt, dass es noch läuft, aber viel überflüssiges raus ist.
Ich hab leider so garkeine Idee, woran das liegen kann. (Ich benutze den gcc.exe - Compiler)
Ausgabe ist:
0 NumX 1 0
1 NumX 2 0
97 NumX 3 1 aa
97 NumX 1 1 aa
98 NumX 2 1 ab
97 NumX 3 2 aa
97 NumX 1 2 aa
98 NumX 2 2 ab
97 NumX 3 3 aa
97 NumX 1 3 aa
98 NumX 2 3 ab
97 NumX 3 4 aa
97 NumX 1 4 aa
98 NumX 2 4 ab
97 NumX 3 5 aa
97 NumX 1 5 aa
98 NumX 2 5 ab
97 NumX 3 6 aa
97 NumX 1 6 aa
98 NumX 2 6 ab
97 NumX 3 7 aa
97 NumX 1 7 aa
98 NumX 2 7 ab
97 NumX 3 8 aa
97 NumX 1 8 aa
98 NumX 2 8 ab
97 NumX 3 9 aa
97 NumX 1 9 aa
98 NumX 2 9 ab
97 NumX 3 10 aa
Gruß
bGeissl
ich habe ein kleines C-Programm (nicht C++), in dem ich der Variablen Errors_in_StringX einen Wert zuweise und die Variable Errors_in_NumX ändert sich (siehe 4. Codezeile in der While-Schleife). Ich hab das Programm mal soweit gekürzt, dass es noch läuft, aber viel überflüssiges raus ist.
Ich hab leider so garkeine Idee, woran das liegen kann. (Ich benutze den gcc.exe - Compiler)
Code:
#include <stdlib.h> int copystring(); main() { long NumX = 0; unsigned long int Errors_in_NumX = 0; char StringX[1] = {0}; unsigned long int Errors_in_StringX = 0; int RecordNumber = 0; char InputChar; //Die Schleife, in der es spukt... while (RecordNumber++ < 10) { printf("%ld\tNumX 1\t%ld\t%s\n", Errors_in_NumX, Errors_in_StringX, StringX ); Errors_in_NumX += 1; printf("%ld\tNumX 2\t%ld\t%s\n", Errors_in_NumX, Errors_in_StringX, StringX ); //Diese Zeile setzt Errors_in_NumX (<- kein Tippfehler!) auf den Wert des 2 chars //also bei " " auf 32, "10" auf 48, "51" auf 49 etc. Errors_in_StringX += (copystring(&"aa"[0], &StringX[0], 0, 2) == 0); printf("%ld\tNumX 3\t%ld\t%s\n", Errors_in_NumX, Errors_in_StringX, StringX ); printf("\n"); } EOProg: printf("\n\nReady. Press enter to continue.\n"); InputChar = getchar(); } int copystring(char *source, char *target, int start, int length){ //returns 1, if no valid character (A..Z, a..z, 0..9, space) was found //otherwise returns 0 source += start; int i = 0; while (length-- && *source) { if ((*source > 64 && *source < 91) || (*source > 96 && *source < 123) || (*source > 47 && *source < 58) || (*source == 32)){; *target++ = *source++; i = 1; }else source++; } *target = 0; if (i > 0) return 0; else return 1; }
0 NumX 1 0
1 NumX 2 0
97 NumX 3 1 aa
97 NumX 1 1 aa
98 NumX 2 1 ab
97 NumX 3 2 aa
97 NumX 1 2 aa
98 NumX 2 2 ab
97 NumX 3 3 aa
97 NumX 1 3 aa
98 NumX 2 3 ab
97 NumX 3 4 aa
97 NumX 1 4 aa
98 NumX 2 4 ab
97 NumX 3 5 aa
97 NumX 1 5 aa
98 NumX 2 5 ab
97 NumX 3 6 aa
97 NumX 1 6 aa
98 NumX 2 6 ab
97 NumX 3 7 aa
97 NumX 1 7 aa
98 NumX 2 7 ab
97 NumX 3 8 aa
97 NumX 1 8 aa
98 NumX 2 8 ab
97 NumX 3 9 aa
97 NumX 1 9 aa
98 NumX 2 9 ab
97 NumX 3 10 aa
Gruß
bGeissl
Comment