Olá. Estou com problemas nesse código.
O programa serve para retornar um mês correspondente a um número digitado.
Ao rodar o programa e inserir um número que cairia no default do switch,
o programa também executa a ação que está dentro do if, quando não era para executar visto que
o conteúdo da da variável mes não foi alterado e é igual a "nulo", não satisfazendo a condição.
Segue o código:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main(){
int nummes;
char mes[15] = "nulo";
printf("Digite o número do mes: ");
scanf("%d", &nummes);
switch (nummes){
case 1:
strcpy(mes, "Janeiro");
break;
case 2:
strcpy(mes, "Fevereiro");
break;
case 3:
strcpy(mes, "Março");
break;
case 4:
strcpy(mes, "Abril");
break;
case 5:
strcpy(mes, "Maio");
break;
case 6:
strcpy(mes, "Junho");
break;
case 7:
strcpy(mes, "Julho");
break;
case 8:
strcpy(mes, "Agosto");
break;
case 9:
strcpy(mes, "Setembro");
break;
case 10:
strcpy(mes, "Outubro");
break;
case 11:
strcpy(mes, "Novembro");
break;
case 12:
strcpy(mes, "Dezembro");
break;
default:
printf("O numero informado nao corresponde a nenhum mes!");
}
if(mes != "nulo")
printf("\nO numero informado corresponde ao mes de %s \n", mes);
system("pause");
}
Obrigado por tentar me ajudar.