Aee pessoal, primeiramente bom dia! :)
Bom, decidi começar a estudar C faz algum tempo, parei um tempo (esqueci algumas coisas), e agora estou com tempo para me dedicar 60%, porém estou meio atrapalhado aqui com comandos de controle de fluxo; especificamente o "if".
Escrevi um source simples para me familiarizar com C de novo, o "programa" recebe dados do usuário como nome e sobrenome, idade e data, recebe as strings e os inteiros com "scanf()" (uso strcat() para concatenar as strings) e por fim imprime nome e sobrenome com a variável nomecompleto, idade e data. Bom, muito simples...como eu disse, só para ir me familiarizando de novo.
Entretanto, quando uso o "if" para verificar os caracteres das strings nome e sobrenome , o programa não executa o bloco do "if" e continua a execução do resto do código normalmente, ignorando o if (não entendi). Segue o code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
char nome[20],sobrenome[20];
int idade,data;
printf("Digite seu nome: ");
scanf("%[^\n]",&nome,&sobrenome);
char *nomecompleto = strcat(nome,sobrenome);
if(nome[0] == "\0" && sobrenome[0] == "\0"){
printf("\n\nERRO: Sem string no buffer");
exit(0);
}
printf("\nDigite sua idade e data de nascimento: ");
scanf("%d%d",&idade,&data);
if(idade <= 0 || idade >= 100 && data >= 2016 || data <= 1930){
printf("\n\nERRO: Dados invalidos");
exit(0);
}
else{
printf ("\nNome e sobrenome: %s",nomecompleto);
printf("\nIdade e data: %d, %d\n",idade,data);
}
return(0);
}
Desde já agradeço muito o intenção de ajudar com uma coisa tão simples, porém não achei nada que me ajudasse na internet, e as minhas tentativas de verificar as variáveis nome e sobrenome falharam, desculpa fazer alguém perder tempo com essa bobagem... mas não tem como aumentar o conhecimento sem questionar a praticar certo?
-------------------------------------------------------------------------------------------
Just bring us some beers, and then we can talk about our systems. :)