Galeraa eu sou iniciante em programação e estou com um problema nesse exercicio, o que acontece é que na hora de imprimir as variaveis que foram atribuidas aos ponteiros esta imprimindo o endereço e não o valor...podem me ajudar ?? Segue o print.
Exercício 4:
Replique o exercício 3. Porém, agora, declare um ponteiro para a estrutura de dados heterogênea. No momento da leitura dos dados e da impressão na tela, use o ponteiro para buscar o conteúdo dos campos. Imprima na tela também o seu RU na tela.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct registro //iniciando a estrutura de dados e declarando as variaveis
{
int *Rup;
int Ru;
char nome[20];
unsigned char num_ref;
}; struct registro cadastro;
int main() {
printf("Digite seu nome: "); //inserindo dados de entrada na string
fflush(stdin);
fgets(cadastro.nome, 20, stdin);
printf("Digite o seu RU: ");
scanf_s("%d", &cadastro.Ru);
cadastro.Rup = &cadastro.Ru; //Atribuindo a variavel ao ponteiro
printf("\n");
printf("O seu nome e: %s\n", cadastro.nome); //imprimindo na tela os dados de saida da estrutura
printf("O seu RU e:%d\n", cadastro.Rup);
system("pause");
return 0;
}
adicionado 18 minutos depois
Na verdade não esta nem imprimindo o endereço, esta imprimindo um numero aleatório mesmo, eu troquei o printf("O seu RU e:%d\n", cadastro.Rup); por printf("O seu RU e:%p\n", cadastro.Rup); e agora imprimiu o endereço... porém nao é isso que o exercicio pede.