C语言中的全局变量和局部变量

2025-03-10 06:55:36
推荐回答(4个)
回答1:

局部变量是在某一函数内定义的变量,有效区域在本函数里。
全局变量定义在函数外,全局起作用。

回答2:

是局部变量啊= =全局变量是在函数值外定义的变量【包括主函数、所以在main函数中定义的变量也是局部变量

回答3:

运行了一下,程序没有问题啊

回答4:

你这个问题我没有重现 但是大概问题出在哪我提两点想法
你的s只有5位长,而当你输入一个字符串的时候实际是将这个字符串赋值给s并且在后面加上'\0'的结束符,所以你输入 n长度的字符串其实是需要n+1长度的字符串来接的。当你输入5位的字符串的时候你的s已经发生溢出了,你试着将s[5]改为s[6]。
而全局变量和局部变量是不同的 存储的空间不同 具体为什么全局变量可以我也不清楚 但是可以肯定 出现这样的差别一定是你的代码有问题

空号一号 所说的&s的问题是对的。你写成&s其实就是没有理解数组就是指针的概念。但是这个问题又不是问题 因为对于数组来说 s和 &s是同一个值 你不信可以printf("s=%p &s=%p", s, &s);试试,但是如果s是指针就不一样了