解释一下这个关于局部变量与全局变量的程序,解释结果怎么得到

解释一下这个关于局部变量与全局变量的程序,解释结果怎么得到,第1张

#include <stdioh>

int i=10; //全局变量,在函数的整个运行期间都有效,而局部动态变量在函数的结束后,内存地址将被释放。

int fun();

void main()

{

int j=1;

j=fun(); //调用fun()函数,得到 j = 10

printf("%d,",j);

j=fun(); //再次调用fun()函数。

//由于再次调用fun()函数时候系统会另外开辟一片内存空间

//和第一次调用的内存地址可能不同,同理由于这时候全局变量的值为20了。

//所以函数调用后将得到一个20的值。

printf("%d",j);

}

fun()

{

int k=0; //初始化变量k。

k=k+i; //这里使用的是全局变量i,值为10,此时k的值为:10 +0 = 10。

i=i+10; //同样这里调用的也是全局变量 i,i = 10 + 10 = 20

return (k); //返回k的值(10)。

}

如果不定义全局变量,并取得同样结果,思路差不多。程序应该怎么改动?可以将i改为fun()函数静态局部变量,如:static int = 10;

建议你看一下书本有关变量作用域的相关内容,其实这部分只要理清了,也不难的。:)

应该是:

if (cmdExecuteScalar() ==null) //这个地方出错

MessageBoxShow("输入的宿舍号不存在,请重新输入", "提示");

试试看吧。

以上就是关于解释一下这个关于局部变量与全局变量的程序,解释结果怎么得到全部的内容,包括:解释一下这个关于局部变量与全局变量的程序,解释结果怎么得到、sql 无法获取局部变量或参数"sql"的值,原因可能是它已经被优化掉而在此指令指针、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9535579.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存