
#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"的值,原因可能是它已经被优化掉而在此指令指针、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)