【问题标题】:c language %f variable, and f after numberc语言%f变量,f在数字后面
【发布时间】:2018-10-28 20:09:12
【问题描述】:

我想知道为什么有必要写%f on variable, and f after the number itself?。 我知道如果我想具体说明机器,需要在数字后写 f,但是当我在同一行声明变量为 f 时为什么需要这样做?

希望我说清楚了,并提前感谢您的任何帮助!

【问题讨论】:

    标签: c variables declare


    【解决方案1】:

    数字后面的 f 是为了使它成为浮点数而不是双精度数。在 C 中,3.14 是双精度数,而 3.14f 是浮点数。同样,您可以附加 ul 以使数字无符号和/或长; 例如42U 是 unsigned int,42L 是 long,42UL 是 unsigned long,42ULL 是 unsigned long long。

    %f 是一个格式说明符,用于告诉函数变量的类型。 C 并没有真正的原生类型自省,printf 并不神奇。签名看起来像:

    int printf(const char *format, ...);
    

    除非您在格式字符串中指定它,否则它不知道您传递的是什么。您还应该记住,可变参数函数没有类型安全性;你可以通过任何你想要的。例如,printf("%s", 1729); 是完全可以接受的。一些编译器能够确保格式字符串与您实际传递的内容相匹配,但这是一个扩展,而不是 C 本身的一部分。

    【讨论】:

    • 非常感谢您的评论!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    相关资源
    最近更新 更多