formatはタイプ 'unsigned int'を指定しますが、引数のタイプは 'int *' [-Wformat]です。
Format Specifies Typeunsigned Intbut Argument Has Typeint
といった:
#include const int MAX = 3 int main () { int var[] = {10, 100, 200} int i, *ptr /* Array address in pointer */ ptr = var for ( i = 0 i < MAX i++) { printf('Storage address: var[%d] = %x
', i, ptr ) printf('Stored value: var[%d] = %d
', i, *ptr )//Report an error /* Move to the next position */ ptr++ } return 0 }
解決:
/* ptr changed to: (unsigned int)ptr */ #include const int MAX = 3 int main () { int var[] = {10, 100, 200} int i, *ptr /* Array address in pointer */ ptr = var for ( i = 0 i < MAX i++) { /* ptr changed to: (unsigned int)ptr */ printf('Storage address: var[%d] = %x
', i, (unsigned int)ptr ) printf('Stored value: var[%d] = %d
', i, *ptr ) /* Move to the next position */ ptr++ } return 0 }