Ir ao conteúdo
  • Cadastre-se

C Como Retornar string em uma FUNÇÃO


CARRETA PCZAO

Posts recomendados

@CARRETA PCZAO    na linguagem  para adicionar valor a uma string precisa usar o comando strcpy , então seu código poderia ser assim  :

#include <stdio.h>
#include <string.h>
char *msg(int num , char *str);
int main(){
    char str[ 50 ],str1[50];
    int num = 5;
    strcpy(str1,msg(num,str));
    printf( "%s" , str1);
}
char *msg(int num , char *str){
    if (num == 0)
        strcpy( str , "Opa escolheu 0\n\n" );
    else
        strcpy( str , "Opa escolheu <> 0\n\n" );
    return str;
}

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@CARRETA PCZAO, alguns pontos:

 

1#

Sempre mantenha o código indentado. É imprescindível. Ex.:

char *msg(int num, char *str);

main() {
    char str[50], str1[50];
    int num = 5;
  
    str1 = msg(num, str);
    printf("%s", str1);
}

char *msg(int num, char *str) {
    if (num == 0)
        strcpy(str, "Opa escolheu 0");
    else
        strcpy(str, "Opa escolheu <> 0");
    return str;
}

Visualmente já dá uma base da estrutura.

 

 

 

2#

Você postou um código, mas não disse o que está acontecendo nele. Por exemplo:

 

"Ao compilar está dando erro nessa linha:

str1 = msg(num,str);

 

No DevC++ acusa:

6	10	C:\xxx\Dev-Cpp 5.11 TDM-GCC 4.9.2\_FONTES\_FCdH.c	[Error] assignment to expression with array type


Não entendi esse erro"

 

 

 

3#

Tendo o erro, já ajudaria bastante, pois já daria uma base do que era (sem precisar analisar linha a linha ou ter compilar)... diz algo como "erro na atribuição para expressões com vetor". (vide Google Translator)

 

Até você mesmo pesquisando por "[Error] assignment to expression with array type", acharia comentários indicando essa solução de @devair1010 (no caso, usar strcpy() em vez de "="), ou seja, para atribuir esse tipos de valores, usam-se uma função, em vez de usar o tradicional "=".

 

 

 

***

 

Att,

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...