Hallo zusammen,
ich hab da mal ne Frage zu einem von mir geschriebenen Übungsprogramm.
#include <stdio.h> #define MAXLINE 10000 #define MAXZEILE 110 int getline (char line[], int maximum); void modify_print(char line[], int length); /**************************************************************/ /* Function - main */ /**************************************************************/ main() { int length,max; char line[MAXLINE]; max = MAXLINE; while ((length=getline(line, max)) > 0) modify_print(line, length); return 0; } /**************************************************************/ /* Function - getline */ /**************************************************************/ int getline(char line[], int maximum) { int i, c; for(i=0; i <= maximum-1 && (c=getchar()) != EOF && c != '\n'; ++i) line[i] = c; if( c == '\n') { line[i] = '\n'; ++i; } line[i] = '\0'; return i; } /**************************************************************/ /* Function - modify_print */ /**************************************************************/ void modify_print(char line[], int length) { int i; int j; int k; char line_new[MAXLINE]; j = 0; i = 0; for(i=0; line[i] != '\0'; ++i) { if(j >= 109) { k = i; printf("%s\n", line_new); for(j=0; j <= MAXLINE; ++j) line_new[j] = '\0'; j = 0; i = k; } line_new[j] = line[i]; ++j; } printf("%s", line_new); }
In der For - Schleife in der line_new geleert wird, wird die Variable i auf 0 gesetzt und ich habe
absolut keine Erklärung dafür. Ich hab mir jetzt die Hilfsvariable k erstellt die i wieder auf 109
zurücksetzt. Aber warum wird i auf 0 gesetzt? Kann mir das jemand erklären?
MfG Guido