fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main() {
  6. char buffer[10];
  7. int tam;
  8. printf("Tamanho: ");
  9. // leia com fgets, e depois converta o que foi lido para número
  10. if (fgets(buffer, 10, stdin) == 0) {
  11. printf("Erro ao ler o tamanho\n");
  12. exit(-1);
  13. }
  14. // sscanf retorna a quantidade de itens lidos (no caso, se não for 1 é porque deu errado)
  15. if (sscanf(buffer, "%d", &tam) != 1) {
  16. printf("Não foi digitado um número\n");
  17. exit(-1);
  18. }
  19.  
  20. // use o tamanho que foi lido para criar o array com o tamanho correto
  21. char nome[tam][10];
  22.  
  23. for (int i = 0; i < tam; i++) {
  24. printf("Entrada: ");
  25. if (fgets(nome[i], 10, stdin) == 0) {
  26. printf("Erro ao ler o nome\n");
  27. exit(-1);
  28. }
  29. }
  30.  
  31. printf("\nNomes:\n");
  32. for (int i = 0; i < tam; i++) {
  33. printf("%s", nome[i]);
  34. }
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0.01s 5436KB
stdin
3
Fulano de Tal
Ciclano da Silva
Beltrano de Souza
stdout
Tamanho: Entrada: Entrada: Entrada: 
Nomes:
Fulano de Tal
Ciclano d