首页 > 试题广场 >

有以下程序,程序的输出结果是?

[单选题]

有以下程序

#include <stdio.h>
int main() {
    int i, sum;
    for (i = 1; i < 6; i++)
        sum += i;
    printf("%d\n", sum);
    return 0;
}

程序运行后的输出结果是?

  • 随机值
  • 0
  • 15
  • 16
栈空间上面的局部变量默认初始化为随机值。

全局整形变量和静态stati整形c变量默认初始值为0。

所以答案为随机值。
发表于 2015-07-05 20:17:59 回复(2)
本题重点考查for语句,变量没有初始化的情况下,默认值与编译器有关系,不同的编译器有不同的值。因此A选项正确。
编辑于 2021-11-05 00:40:51 回复(2)
局部变量默认初始化为随机值,全局整型变量和静态整型变量默认为0
发表于 2018-09-08 01:23:38 回复(0)
sum没有初始化,在main()函数内,sum,i是局部整形变量存储在栈空间里边,i在for循环里边初始化为1,sum为没有初始化所以随机值。如果是全局变量或者是静态变量则会被编译器默认初始化为0.所以最终结果为随机数,虽然循环可以运行并在sum初值上加了15。
发表于 2016-11-25 00:16:07 回复(0)
非全局和非静态变量是放在栈区的,而战区的初始值默认为随机值😮
发表于 2021-08-25 17:09:35 回复(0)
变量sum没有给初始值。
发表于 2020-01-09 23:18:25 回复(0)
sum没有初始化
发表于 2015-10-06 00:32:10 回复(0)
其实我用vs跑了一下,然后提示错误。。。“使用了未初始化的变量sum”
发表于 2015-08-20 16:44:41 回复(1)
局部变量未赋值的初始化默认为随机值 全局变量和静态全局变量为0
发表于 2023-05-07 19:05:06 回复(0)
还是不懂,望解答
虽然在定义时未初始化 ,
但是sum = 0;不是赋值了吗?
怎么还随机

发表于 2021-10-26 18:34:38 回复(1)
sum没有初始化
发表于 2020-09-06 10:14:55 回复(0)
sum未赋初值
发表于 2018-10-05 17:08:10 回复(0)
ᥬ🌝᭄sum没有初始化
发表于 2022-04-05 20:28:30 回复(0)
sum没有初始化
发表于 2022-04-05 14:55:55 回复(0)
sum没有初始化为0

发表于 2022-03-04 20:02:54 回复(0)
#include <stdio.h>
void main() {
    int i, sum;
    sum = 0;
    for (i = 1; i < 6; i++)
        sum += i;
    printf("%d\n", sum);
}
是题目不一样吗?我的题目是上面这样,‘sum=0;’不是初始化了吗?😥😥
发表于 2021-10-28 20:13:09 回复(0)
不太理解 sum = 0,不是已经初始化了嘛。是原先没有sum=0 后面又加了吗??
发表于 2021-10-28 08:02:04 回复(0)
sum初始值未知,sum加上任何数都是未知数
发表于 2021-06-28 20:06:51 回复(0)
i,sum没有给初始值,所以为随机的
发表于 2021-06-01 19:50:15 回复(0)
确实跟编译器关系很大:gcc默认为0,结果为15,而VS2015直接报未初始化错误
发表于 2021-05-07 11:14:27 回复(0)