1. 编程学习网 > 编程教程 > C语言教程 > C语言变量的初始化与赋值

C语言变量的初始化与赋值

我们思考一下,下面的代码,它的打印出来的数值是多少呢?

#include <stdio.h>
int main()
{
    int a;
    printf("%d\n", a);
    return 0;
}

  我们发现,它居然报错了!

uninit

  这段代码,在Visual Studio 2019中这段代码已经无法编译成功了。为什么呢?因为a没有被初始化,也没有被赋值。它的值是一个随机值。这样很危险,有可能导致程序产生错误的结果。因此,在Visual Studio 2019中已经禁止使用了。早期的版本你可以看到a的值是一个无意义的随机值。

  以下两种是正确的写法

  写法1:变量声明后,立刻初始化为100。

#include <stdio.h>
int main()
{
    int a = 100; //  变量声明后,立即装入100。
    printf("%d\n", a); 
    return 0;
}

  写法2:变量声明后,不初始化。后续使用赋值运算符赋值。

#include <stdio.h>
int main()
{
    int a; //  变量声明后,为一个随机值
    a = 100; // 这里我们使用赋值运算符,将100给了a。
    printf("%d\n", a); 
    return 0;
}

  另外,请注意:变量可以多次赋值,但是不能被多次初始化。

//  正确,将输出100,200。
#include <stdio.h>
int main()
{
    int a; 
    a = 100; 
    printf("%d\n", a); 
    a = 200;
    printf("%d\n", a); 
    return 0;
}
//  错误,变量被声明过一次了。
#include <stdio.h>
int main()
{
    int a; 
    a = 100; 
    printf("%d\n", a); 
    int a = 200; 
    printf("%d\n", a); 
    return 0;
}

本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/cyuyan/592.html

联系我们

在线咨询:点击这里给我发消息

咨询电话:400-998-2681

工作时间:7*24小时无休