私は本「Cのポインタを理解する」からいくつかの演習を行っています。この本はコードの一部を提供し、出力で何が得られるかを尋ねます。
それらの1つは次のとおりです。
#include <stdio.h>
int main(int argc, char* argv[])
{
char c, *cc;
int i;
long l;
float f;
c = 'Z';
i = 15;
l = 77777;
f = 3.14;
cc = &c;
printf("c=%c cc=%u\n", *cc, cc);
cc = &i;
printf("i=%d cc=%u\n",*cc,cc);
cc=&l;
printf("l=%ld cc=%u\n",*cc,cc);
cc=&f;
printf("f=%f cc=%u\n",*cc,cc);
return 0;
}
出力は次のとおりです。
c=Z cc=1946293623
i=15 cc=1946293616
l=4294967249 cc=1946293608
f=0.000000 cc=4294967235
理由 がわかりませんl
とf
として印刷されませ77777
ん3.14
?
printf
の制御文字が正しいかどうかを確認するために C プログラミング言語という本を調べましたが、正しいです。