关于C / C ++中数据类型和修饰符的有趣事实-IDC帮帮忙

以下是有关数据类型和与数据类型相关的修饰符的一些逻辑和有趣的事实: -

1.如果没有为变量赋予数据类型,则编译器会自动将其转换为int数据类型。

#include <stdio.h>
int main()
{
    signed a;
    signed b;
    // size of a and b is equal to the size of int
    printf("The size of a is %d\n", sizeof(a));
    printf("The size of b is %d", sizeof(b));
    return (0);
}

输出:

a的大小是4
b的大小是4

2. Signed是char和int数据类型的默认修饰符。

#include <stdio.h>
int main()
{
    int x;
    char y;
    x = -1;
    y = -2;
    printf("x is %d and y is %d", x, y);
}

输出:

x是-1,y是-2。

3.我们不能在float数据类型中使用任何修饰符。如果程序员尝试使用它,那么编译器会自动给出编译时错误。

#include <stdio.h>
int main()
{
    signed float a;
    short float b;
    return (0);
}

输出:

[Error]声明说明符中的'signed'和'float'
[Error]声明说明符中的'short'和'float'

4.双数据类型中只允许使用long修饰符。我们不能使用双数据类型的任何其他说明符。如果我们尝试任何其他说明符,那么编译器将给出编译时错误。

#include <stdio.h>
int main()
{
    long double a;
    return (0);
}
#include <stdio.h>
int main()
{
    short double a;
    signed double b;
    return (0);
}

输出:

[错误]声明说明符中的“short”和“double”
[错误]声明说明符中的'signed'和'double'