A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© joytear 中级黑马   /  2015-3-13 18:51  /  1116 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int b, c = 20; 这句是全局变量的条件  这句话的意思不是应该int b =20 int c =20吗? 为什么结果是int b;?

7 个回复

倒序浏览
实际是b = 0;c = 20;这样子的,并不是两个都是20,这跟是不是全局变量没关系吧
回复 使用道具 举报
不是的,int b知识定义了b并没有给b赋值。结果是a=20,b没有值
回复 使用道具 举报
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共用的,你明白了吗。
回复 使用道具 举报
全局变量在没有赋值以前系统默认为0,而局部变量在没有赋值以前的值是不确定的,nt b, c = 20; 相当于 int b; int c = 20 ; 所以b = 0 ; c =20;
回复 使用道具 举报
地板正解
回复 使用道具 举报
赋值语句再看一下  问题迎刃而解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马