fork(3) download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(void) {
  5. char entrada[100]; // Para obter até 100 caracteres da entrada
  6. int qtdEspacos = 1;
  7. int i = 0;
  8.  
  9. if(fgets(entrada, sizeof entrada, stdin) != NULL) {
  10. char *ptr = entrada;
  11.  
  12. while((ptr = strchr(ptr, ' ')) != NULL) { // Se encontrou espaço
  13. qtdEspacos++;
  14. ptr++;
  15. }
  16.  
  17. // Cria o array com tamanho baseado na quantidade de espaços na string
  18. int * elementos[qtdEspacos];
  19.  
  20. for (char *pedaco = strtok(entrada, " "); pedaco != NULL; pedaco = strtok(NULL, " ")) {
  21. elementos[i++] = pedaco;
  22. }
  23.  
  24. for (int n = 0; n < qtdEspacos; ++n) {
  25. printf("Indice [%d] = %s\n", n, elementos[n]);
  26. }
  27. }
  28. return 0;
  29. }
  30.  
Success #stdin #stdout 0s 2172KB
stdin
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
stdout
Indice [0] = 0
Indice [1] = 1
Indice [2] = 2
Indice [3] = 3
Indice [4] = 4
Indice [5] = 5
Indice [6] = 6
Indice [7] = 7
Indice [8] = 8
Indice [9] = 9
Indice [10] = 10
Indice [11] = 11
Indice [12] = 12
Indice [13] = 13
Indice [14] = 14
Indice [15] = 15