像2楼这样思考问题,是每个写程序、读程序、设计程序的人都应该做的。给你答案很简单,但事实并非那么简单。在C语言中,声明int a, b, sum;这样的语句,表示这是自动变量,C语言的机制,不给自动变量赋初值,但不是任何语言均如此,有些语言是赋初值的(比如BASIC会设定这些变量为零),因此,在C中会出问题的设计,在别的语言中未必会出问题,甚至,人家还会刻意利用这种潜规则,达到预期目的。所以,直接给你解答了这个简单的问题,意义不大,真正有意义的是学会像2楼那样想问题,在C语言中,查C的语法规范,在BASIC中,查BASIC的语法规范,答案不会相同,现象也不相同。不会这样想,就一定会反复问同类的问题。
别以为我这是忽悠你,你把int a,b,sum;写成static int a,b,sum看看,就不会黑屏,显示0,因为这三个变量都有初值零。