A situação é a seguinte, estou estudando C e estou com dificuldades em uma parte de um código. Tenho a seguinte funçao:
void incluirCliente (cliente *p){
printf("\nDigite o nome do Cliente: ");
gets (p->nome);
printf("\nDigite o CPF do Cliente: ");
scanf("%d", &p->cpf);
printf("\nDigite o endereco do Cliente: ");
gets(p->endereco);
printf("\nDigite o Telefone do Clinte: ");
scanf("%d", &p->telefone);
}
O tipo de dado 'cliente' foi criado anteriormente, no caso a função acima recebe como parametro o endereço de uma posição de vetor de uma variavel do tipo cliente. Porém após solicitar para digitar o endereço de cliente o codigo pula para o telefone, não deixando digitar a string do endereço. e ao exibir os dados da variavel nesta posiçao o CPF vem com uma numeração diferente e negativa.
Alguém me ajuda a entender o problema? Caso precise de mais partes posso postar outras partes do codigo tbm.