fork download
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #define MAX 130 /*1 Byte für Zeichenkette = '\0' | 1 Byte extra, da wir ab i = 0 zählen*/
  5. #define STR(X) STRINGIFY(X)
  6. #define STRINGIFY(X) #X
  7.  
  8. int main()
  9. {
  10. int zahl = 0, i;
  11. char z[MAX+1]; /*Array MAX groß*/
  12.  
  13. printf("Gebe maximal %d Zeichen in einer Zeile ein: ", MAX);
  14.  
  15. //printf("\n%%" STR(MAX) "s\n"); // zum Test
  16. scanf("%" STR(MAX) "s", z);
  17. //fgets(z, MAX, stdin); /*ließt die ganze Zeile ein bis "MAX" Zeichen erreicht sind*/
  18.  
  19. printf("\n%s\n", z); // Testausgabe
  20.  
  21. for(i=0; *(z+i) != 0; i++) /*Zähle bis zum Ende der Zeichenkette*/
  22. {
  23. putchar(*(z+i)); /*Kontrolle: Eingabe = Ausgabe*/
  24. zahl++;
  25. }
  26. //zahl = zahl - 1; /*Minderung wegen der Versetzung um ein Byte*/
  27. printf("\nAnzahl:%d\n",zahl); /*Ausgabe Anzahl*/
  28.  
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 5444KB
stdin
Hallo
stdout
Gebe maximal 130 Zeichen in einer Zeile ein: 
Hallo
Hallo
Anzahl:5