c# c中未初始化的静态char的值是什么?

qfe3c7zg  于 2023-01-03  发布在  C#
关注(0)|答案(2)|浏览(211)

未初始化的static int的默认值是零,如果数据类型是char呢?

#include<stdio.h>

int main()
{
    static char i;
    printf("%c", i);
    return 0;
}

这个程序执行时没有任何输出-为什么?

t0ybt7op

t0ybt7op1#

在您的示例中,i默认初始化为零,当您使用printf%c将该作为字符输出时,您将输出空字符\0,这就是您看不到任何内容的原因。
如果要查看数值,应使用printf("%i", (int)i)

jvidinwx

jvidinwx2#

在C static中,变量是自动初始化的。

  • 如果是整数类型,如int等,则初始化为0
  • 如果是float等浮点数类型,则初始化为0.0
  • 如果它是char类型,则将使用空字符\0进行初始化。
  • 如果它是指针类型,它将获得默认值NULL

相关问题