Ir ao conteúdo
  • Cadastre-se

Programa parando de funcionar


SecretFox

Posts recomendados

Olá, sou novo no fórum e queria começar já tirando uma dúvida...

Eu fiz um programa e ele compilou normal, mas aparentemente ele trava quando tá rodando. Com certeza tem algo errado e gostaria que vocês pudessem me dizer o que é.

Aqui tá o código numa versão resumida (o original era mais extenso e está em outro computador, mas a ideia é a mesma):

 

#include <stdio.h>

char func (void) {
    char vet[20];
    int count;
    for (count = 0 ; vet[count] != 0 ; count++) {
        vet[count] = 'T';
    }
    vet[count] = 0;
    return vet;
}

int main () {
    char *pt;
    pt = func();
    puts(pt);
}
 

Link para o comentário
Compartilhar em outros sites

@SecretFox Você quer pegar o endereço de uma variável local? eu acho meio difícil, até onde eu saiba, as variáveis locais são desalocadas no termino do bloco. o melhor que você faz é passar um ponteiro de char como parâmetro da função, e dentro da função você aloca dinamicamente.

Link para o comentário
Compartilhar em outros sites

Mas se você fizer assim, por exemplo: 

 

#include <stdio.h>

int retorna () {
    int  v[4], i;
    for (i = 0; i < 4 ; i++) {
        v = 2;
    }
    return v;
}

int main(){
    int *pt;
    pt = retorna();
    printf("%d %d %d %d", pt, pt[1], pt[2], pt[3]);
}
 

 

Ele pega normalmente o endereço.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!