gcc 7.3.0です。
C
1#include <stdio.h> 2int main(int argc, char *argv[]){ 3int a,b; 4 5printf("%0X %0X %ld\n",&a,&b,&b-&a); 6 7return 0; 8}
関連する質問は2つあります。
まず、第1に、コンパイルすると以下のエラーが出ますが、&aは警告出ないのに、なぜ&bだけ警告が出るのでしょうか。
第2の質問ですが、実行すると、&bと&aの差は4なのに、&b-&aが4にならずに1になるのはなぜなのでしょうか。
test.c:5:15: warning: format ‘
%X’ expects argument of type ‘
unsigned int’, but argument 3has type ‘int *’ [-Wformat=]
printf("%0X %0X %ld\n",&a,&b,&b-&a);
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/19 11:47