前提・実現したいこと
printf("%04x",pa);
でポインタの指すアドレスを表示させたいのですが、%04xの部分がエラーになります。
↓が実際のプログラムです。
#include <stdio.h>
int main(void) /ポインタのアドレス計算/
{
static int a[]={0,1,2,3,4};
static char b[]={'a','b','c','d','e'};
int i,*pa;
char *pb;
pa=a; pb=b; for (i=0;i<5;i++) { printf("%04x %4d : %04x %c\n",pa,*pa,pb,*pb); pa++; pb++; }
}
発生している問題・エラーメッセージ
argument has type 'int *' [-Wformat]
printf("%04x %4d : %04x %c\n",pa,*pa,pb,*pb);
~~~~~ ^~
pointer11.c:14:48: warning: format specifies type 'unsigned int' but the
argument has type 'char *' [-Wformat]
printf("%04x %4d : %04x %c\n",pa,*pa,pb,*pb);
~~~~~ ^~
%4s
該当のソースコード
c言語
試したこと
ネットで調べたのですが、このコードで間違ってはいないと思います。しかし、エラーになります。
補足情報
使用しているパソコンはMACです。
コンパイラはterminalです。
よろしくお願い致します。