在main 函数中定义的三个变量 m n max 都是局部变量,它们的作用域为这个 main 函数,并不因为在 main 函数中定义而在整个文件或项目中有效,同时 main 函数也不能使用其他函数中定义的变量;
再来看下面复合语句:

第8行定义的c 只在复合语句中有效,出了语句后就无效了,系统会把它占用的内存单元释放,所以第11行的打印会报错,显示变量 c 在 main中没有定义;
理解C语言中的局部变量与作用域
在C语言中,main函数内的变量mnmax是局部变量,其作用域仅限于该函数内部。其他函数无法访问这些变量。复合语句中的变量如c,其作用域局限于该语句块,在退出该块后即失效,内存会被释放。因此尝试在语句块外访问变量c会导致错误,提示未定义。
在main 函数中定义的三个变量 m n max 都是局部变量,它们的作用域为这个 main 函数,并不因为在 main 函数中定义而在整个文件或项目中有效,同时 main 函数也不能使用其他函数中定义的变量;
再来看下面复合语句:

第8行定义的c 只在复合语句中有效,出了语句后就无效了,系统会把它占用的内存单元释放,所以第11行的打印会报错,显示变量 c 在 main中没有定义;
1527
3168

被折叠的 条评论
为什么被折叠?