问答详情
源自:2-5 格式化输出语句

为什么%f%c中间不用加逗号啊

为什么%f%c中间不用加逗号啊

提问者:qq_慕用5232731 2020-01-11 19:42

个回答

  • qq_慕工程5022656
    2020-01-11 20:53:22
    已采纳

    有逗号的话会变成“小明身高1.85,m”。

    %f %c %d 等,都是输出的格式,float height=1.85,用%f的格式输出就是1.85,用%d的格式输出就变成了1。

    你可以试试 :

    int num=97;

    printf("%c",num);

    结果应该是'a'。


    或者试试:

    char letter='b';

    printf("%d",letter);

    结果为98。


    也就是说不管是char还是int ,其在内存中的储存形式是一样的。当你要把它们显示出来的时候就要给它们定一种格式,让它们以你指定的格式显示出来。

    或许你想问height已经定好了是float的格式,为什么在输出的时候还要再重申一次它是%f呢?

    我记得制订c标准的委员会那帮人对于c语言的精神有几条指导原则,第一条就是“相信程序员”。

    或许他们认为你会需要把float 类型的数据以int的形式显示,而不是你的一时疏忽把%f打成了%d。