定义了一个全局变量num,没有赋初值.
在mian函数中使用的num是在程序开始位置的定义的全局变量num
在add函数中的num是add函数的形式参数,是个局部变量
当局部变量与全局变量名称发苼冲突时,在定义局部变量的函数内局部变量优先。
所以在add中使用的num(局部)与main中使用num(全局)两个相互独立没有任何关联。
m就是主函数中的一个局部变量C语言规定,在一般情况下系统不会自动为局部变量设定初值,由于程序中没有为m赋值的语句所以m的内容是随機的。你在不同时刻不同机器上运行程序的到的输出结果都可以是不同的。
哎呦我去~ 这题目。
num是全局变量,而add(int num)覆盖了这一变量导致add()内部的num并非全局的num,而是带进来的n的值
而全局变量 num 和 m 都没有初始化,栈中的int数据没有初始化默认为0.