我正在从“理解 C 中的指针”一书中做一些练习。这本书给了你一段代码,并询问你在输出中得到了什么。
其中之一如下:
#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不打印为77777and 3.14?
我检查了 The C Programming Language 一书,看看printf' 的控制字符是否正确,它们是否正确。