Impressão de valores de ponteiro como inteiros. Escreva um programa que imprima valores de ponteiro, usando conversões para todos os tipos de dados inteiros. Quais imprimem valores estranhos? Quais causam erros?
Passo 1
Beleza pessoal, vamos começar mais uma atividade!
Abram seu compilador favorito, e vamos por a mão na massa. Irei apresentar aqui apenas uma solução, isso não quer dizer que não possam existir infinitas outras.
Passo 2
O código comentado para essa situação é o seguinte,

Passo 3
Continuando a resolução, o programa não irá compilar pois os tipos de dados, int, long e short irão causar um erro. O erro corresponde ao seguinte trecho,

Isso acontece pois o static_cast não pode ser usado para converter o ponteiro de caractere para os referidos dados. Porém, isso pode ser resolvido mudando static_cast com reinterpret_cast.

O código acima produz a seguinte saída,

A saída estranha
![]()
Corresponde a saída do seguinte trecho
![]()
Como os valores do ponteiro são impressos como valores inteiros em formato hexadecimal devido a operação de conversão.
Então é isso pessoal, questão meio cansativa essa, mas acredito que todos conseguiram aprender um pouco hoje. Abraço a todos e continuem ligado aqui no Responde aí.
Resposta
Ei, a resposta está no passo a passo :)