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

(Resolvido) Programação em C


Adm - security

Pergunta

Olá pessoal, estou com um erro aqui em meu código que ainda não descobri e espero que vocês me ajudem a descobrir qual o meu erro. O código é o seguinte:

#include<stdio.h>

int vPar[6],vImpar[6],vTotal[6];
int i,num;

main(){
   for(i=0; i<6; i++){
   printf("\nInforme um numero:");
   scanf("%d",&num);
  
     if(num % 2= 0)     // O ERRO ESTAR AQUI!!!!
      vPar[i] = num;    
     else
      vImpar[i] = num;    
         
   vTotal[i] = vPar[i] + vImpar[i];
   }
  printf("\nVetor"); 
  for(i=0; i<6; i++){
    printf("%d",vTotal[i]);       
           }
system("pause");
}

e dar um erro de " invalid lvalue in assignment " e não sei o que pode ser.

agradeço desde de já.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
erro de " invalid lvalue in assignment " e não sei o que pode ser.

"assignment" é o mesmo que atribuição. O compilador entendeu que você quis atribuir zero à dois. Um erro comum é o programador querer comparar uma variável com uma constante; algo do tipo if(x=0). Aí o compilador (se for bom) não vai apontar erro, pois não está errado. Mas vai disparar um warning †, apontando para um "possível" erro. Para evitar isso, muitos programadores utilizam a comparação invertida: if(0 == x), pois se errarem e usarem o operador de atribuição, aí sim, dá erro e o processo pára na hora.

Warnings desse tipo podem ser desligados (eu desligo). Se isso for feito, a compilação prossegue normalmente, mas o erro permanece. Isso pode gerar comportamentos estranhos e o erro pode ser de difícil detecção. Aí entra o "truque" de inverter os operandos da comparação. Se a distração ocorrer, o compilador soltará o mesmo erro que você viu em seu programa.

Link para o comentário
Compartilhar em outros sites

  • 0
#include<stdio.h>

int vPar[6],vImpar[6],vTotal[6];
int i,num;

main(){
   for(i=0; i<6; i++){
   printf("\nInforme um numero:");
   scanf("%d",&num);
  
     if(num % 2 == 0)   
      vPar[i] = num;    
     else
      vImpar[i] = num;    
        
   vTotal[i] = vPar[i] + vImpar[i];
   }
  printf("\nVetor");
  for(i=0; i<6; i++){
    printf("%d",vTotal[i]);      
           }
system("pause");
}

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...