黑马程序员技术交流社区

标题: 全局变量小疑问 [打印本页]

作者: joytear    时间: 2015-3-13 18:51
标题: 全局变量小疑问
int b, c = 20; 这句是全局变量的条件  这句话的意思不是应该int b =20 int c =20吗? 为什么结果是int b;?
作者: 岳挺    时间: 2015-3-13 18:56
实际是b = 0;c = 20;这样子的,并不是两个都是20,这跟是不是全局变量没关系吧
作者: gaizuojia    时间: 2015-3-13 20:38
不是的,int b知识定义了b并没有给b赋值。结果是a=20,b没有值
作者: 一步一个脚印    时间: 2015-3-13 21:48
1.关于全局变量,你只需知道在所有{}形式的代码块外面定义的变量都属于全局变量,作用域从定义点开始到文件尾2.关于声明,int b,c=20;如果这个语句是在{}代码块外面定义的话,那么b和c就是全局变量,在这里,int b,c=20;你把它拆开来看,相当于int b;   int c=20;  2个语句,你可以组合成一个语句,比如 int  b,c=20;或者int c=20,b;逗号作为定义的分隔符,如果一次定义很多个同类型的变量,那么要用很多过逗号,隔开,=是赋值符号,右结合的,即从右到左顺序计算,即赋值给c,b和c被逗号隔开了,是2个不同的声明,int 这个类型才是b和c共用的,你明白了吗。
作者: JiangHG    时间: 2015-3-13 23:37
全局变量在没有赋值以前系统默认为0,而局部变量在没有赋值以前的值是不确定的,nt b, c = 20; 相当于 int b; int c = 20 ; 所以b = 0 ; c =20;
作者: yafengxn    时间: 2015-3-14 00:09
地板正解
作者: 碧空海    时间: 2015-3-15 09:12
赋值语句再看一下  问题迎刃而解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2