#include #include #include /* imprime caracteres na memória */ void pmem(void *p, int n) { while (n--) { if (isprint(*(char *) p)) printf(" %c", *(char *)p++); else printf("%3x", 0x0ff & *(char *)p++); } putchar('\n'); } int main() { int x = 42; double f = 1.23; char msg[] = "Mensagem tranquila"; char s = '!'; puts("Valores de s, x, f, e msg antes:"); printf("s: %c ->", s); pmem(&s, sizeof(char)); printf("x: %d ->", x); pmem(&x, sizeof(int)); printf("f: %f ->", f); pmem(&f, sizeof(double)); printf("m: '%s' ->", msg); pmem(msg, strlen(msg)); printf("Entre com uma string PEQUENA (menor do que %d caracteres):\n", sizeof(s) + sizeof(x) + sizeof(f) + strlen(msg)); scanf("%s", &s); puts("Valores de s, x, f, e msg depois:"); printf("s: %c ->", s); pmem(&s, sizeof(char)); printf("x: %d ->", x); pmem(&x, sizeof(int)); printf("f: %f ->", f); pmem(&f, sizeof(double)); printf("m: '%s' ->", msg); pmem(msg, strlen(msg)); return 0; }