Ir para conteúdo
Fórum Script Brasil
  • 0

Alocando string dinamicamente em C


Guest --Guilherme --

Pergunta

Guest --Guilherme --

oi pessoal, estou com um pequeno problema no meu codigo fonte, pois toda vez q executo, na hora de listar as strings, o programa fecha.

Vou postar o meu codigo abaixo, com a parte que esta errada em destaque, para que alguém possa me dizer se esta errado ou se há outra maneira de fazer isso...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(void)
{
    int quantidade, *vet, i;
    
    
    printf("Digite a quantidade de alunos na sala: ");
    scanf("%d", &quantidade);
    if((vet = (int *) malloc(quantidade)) == NULL){
            printf("\nMemoria insuficiente");
            void free(void *vet);
            }
    else printf("alocacao concluida com sucesso\n");
    printf("Digite os nomes dos alunos: \n");
    for (i=0;i<quantidade;i++){
        scanf("%s", &vet[i]);
        }


###################################
#AQUI estou tendo problemas. Como mais eu poderia fazer essa listagem do vetor vet?
#
#    for (i=0;i<quantidade;i++){
#        printf("Aluno no. %d: %s",i, vet[i]);
#        }
##################################


    
    system("pause");
    return(0);
}

obrigado a todos ^^

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Coloque um fflush(stdin) antes do for só pra testar. Se funcionar (isso se o seu compilador suportar isso, pois não é compliant com o standard) é problema com o scanf, ele está deixando lixo no buffer o que faz o pause ir direto.

OU, o problema pode ser que você esteja tentando imprimir um int como string. Se quiser TENTAR fazer isso, pelo menos coloque um '\ 0' (junte \ com 0, aqui no fórum não dá pra colocar os dois juntos) no final do array.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

amigo, provavelmente o erro está que estou tentando imprimir int como string... tentei o fflush, mas não passou...

conversando com as pessoas do baboo, percebi q seria necessario usar um ponteiro para ponteiro

da maneira q esta atualmente, ele tenta colocar um nome onde deveria estar uma letra.

vou deixar o link para se alguém quiser visualizar o outro tópico:

http://www.babooforum.com.br/forum/index.p...id=2827044&

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...