📜  如何知道 c 中数字的类型 (1)

📅  最后修改于: 2023-12-03 14:53:13.450000             🧑  作者: Mango

如何知道 C 中数字的类型

在 C 语言中,数字分为整型和浮点型。为了知道一个数字的类型,我们可以通过以下方式来判断。

整型

整型是指数据没有小数部分的数字。在 C 语言中,整型可以分为以下几种类型:

  • char
  • shortshort int
  • int
  • longlong int
  • long longlong long int

要判断一个数字是否为整型,可以使用 sizeof 运算符来测量该数字所占的内存大小,然后根据不同的类型来判断。例如:

#include <stdio.h>

int main() {
    int num = 10;
    printf("num is %d bytes\n", sizeof(num));
    
    if (sizeof(num) == sizeof(char)) {
        printf("num is char type\n");
    } else if (sizeof(num) == sizeof(short)) {
        printf("num is short type\n");
    } else if (sizeof(num) == sizeof(int)) {
        printf("num is int type\n");
    } else if (sizeof(num) == sizeof(long)) {
        printf("num is long type\n");
    } else if (sizeof(num) == sizeof(long long)) {
        printf("num is long long type\n");
    }
    
    return 0;
}

输出结果:

num is 4 bytes
num is int type
浮点型

浮点型是指数据有小数部分的数字。在 C 语言中,浮点型可以分为以下两种类型:

  • float
  • double

要判断一个数字是否为浮点型,可以使用 sizeof 运算符来测量该数字所占的内存大小,然后根据不同的类型来判断。例如:

#include <stdio.h>

int main() {
    double num = 10.5;
    printf("num is %d bytes\n", sizeof(num));
    
    if (sizeof(num) == sizeof(float)) {
        printf("num is float type\n");
    } else if (sizeof(num) == sizeof(double)) {
        printf("num is double type\n");
    }
    
    return 0;
}

输出结果:

num is 8 bytes
num is double type
结论

通过以上方法,我们可以很容易地判断 C 语言中的数字类型。需要注意的是,类型的大小和类型名并不总是一一对应,具体可以参考 C 语言标准。