为了账号安全,请及时绑定邮箱和手机立即绑定

新手求帮忙解答一下

#include <stdio.h>

int main()

{

    int age;                        /*这里定义年龄*/

    printf("我今年%d岁!\n", age);

    return 0;    

}

这里我给给age赋值,但是输出的是“我今年0岁!”,这是为什么?求帮忙解答。

正在回答

16 回答

没有给age赋值啊

scanf("%d",&age);

0 回复 有任何疑惑可以回复我~

路过,学习!

0 回复 有任何疑惑可以回复我~

因为如果不给变量赋值,那么变量默认初始化赋值为0

0 回复 有任何疑惑可以回复我~

如楼上所说,你定义了一个int变量age,但没有初始化。

但是这种定义在函数中的local变量(或称自动变量auto),如果在定义时未初始化,那它的值是不确定的,可能是任意值。编译器通常会给出警告,类似于'age' is uninitialized

如果age是定义在函数之外的,称为global全局变量。未初始化的情况下,其初值为0。

1 回复 有任何疑惑可以回复我~

我在你代码中看到的,你只是定义了int类型的age变量,但是并没有给age赋值。而在C语言中,如果只是定义了变量而不对变量进行赋值的话,默认会是0

1 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消
C语言入门
  • 参与学习       926026    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

新手求帮忙解答一下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信