#include /*Konstanten*/ const int max_laenge=81; const int max_anzahl=2; /*globale Variable*/ char mystring_global[81]; /*Einlesen eines Textes in die globale Variable,*/ /*hier sind keine Parameter notwendig */ void lese_in_mystring_global() { printf("Einen String eingeben in 'lese_in_mystring_global': "); scanf("%80[^\n]s", mystring_global); } /*Einlesen eines Textes in das übergebene Array, */ /*Parameterübergabe: call by refernece notwendig */ void lese_in_mystring (char text[]) { printf("Einen String eingeben in 'lese_in_mystring': "); scanf("%80[^\n]s", text); //scanf("%80[^\n]s", &text[0]); } /*Einlesen eines Textes in das übergebene Array, */ /*Parameterübergabe: call by refernece notwendig */ void lese_in_mystring_2(char *text) { printf("Einen String eingeben in 'lese_in_mystring_2': "); scanf("%80[^\n]s", text); //scanf("%80[^\n]s", &text[0]); } /*Einlesen eines Textes in das übergebene mehrdimensionale Array, */ /*Parameterübergabe: call by refernece notwendig */ void lese_in_mystring_2_1(char text[][max_laenge]) { int i; for (i=0; i< max_anzahl; i++) { printf("Einen String eingeben: "); scanf("%80[^\n]s", &text[i][0]); //scanf("%80[^\n]s", &text[i]); //scanf("%80[^\n]s", text[i]); } } /*Einlesen eines Textes in das übergebene mehrdimensionale Array, */ /*Parameterübergabe: call by refernece notwendig */ void lese_in_mystring_2_2(char **text) { int i; for (i=0; i< max_anzahl; i++) { printf("Einen String eingeben: "); scanf("%80[^\n]s", (char*)text+i*81); } } int main(void) { char mystring[max_laenge]; char mystring_2[max_anzahl][max_laenge]; int i,j; lese_in_mystring_global(); printf("\nString aus 'lese_in_mystring_global': %s\n", mystring_global); fflush(stdin); /*Tastaturpuffer löschen*/ lese_in_mystring(&mystring[0]); //lese_in_mystring(mystring); printf("\nString aus 'lese_in_mystring': %s\n", mystring); fflush(stdin); lese_in_mystring_2(mystring); //lese_in_mystring_2(&mystring[0]); printf("\nString aus 'lese_in_mystring_2': %s\n", mystring); fflush(stdin); //lese_in_mystring_2_1(&mystring_2[0]); lese_in_mystring_2_1(mystring_2); for (i=0; i< max_anzahl; i++) { printf("\nString %s\n", mystring_2[i]); } fflush(stdin); lese_in_mystring_2_2((char**)mystring_2); for (i=0; i< max_anzahl; i++) { printf("\nString %s\n", mystring_2[i]); } }