Ir ao conteúdo

Posts recomendados

Postado
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;
}

 

  • Obrigado 1
Postado

@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
  • Membro VIP
Postado

@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

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!