My code is:
#include <stdio.h>
#include <string.h>
void main()
{
char string[10];
int A = -73;
unsigned int B = 31337;
strcpy(string, "sample");
// printing with different formats
printf("[A] Dec: %d, Hex: %x, Unsigned: %u
", A,A,A);
printf("[B] Dec: %d, Hex: %x, Unsigned: %u
", B,B,B);
printf("[field width on B] 3: '%3u', 10: '%10u', '%08u'
", B,B,B);
// Example of unary address operator (dereferencing) and a %x
// format string
printf("variable A is at address: %08x
", &A);
I am using the terminal in linux mint to compile, and when I try to compile using gcc I get the following error message:
basicStringFormatting.c: In function ‘main’:
basicStringFormatting.c:18:2: warning: format ‘%x’ expects argument
of type ‘unsigned int’, but argument 2 has type ‘int *’ [-Wformat=]
printf("variable A is at address: %08x
", &A);
All I am trying to do is print the address in memory of the variable A.
question from:
https://stackoverflow.com/questions/30354097/how-to-printf-a-memory-address-in-c 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…