C++程序分析
x=(y&&z);
x=(y||z);
1)当y=z=2时分别输出什么?
2)当y=2,z=1时它们又分别输出什么? 求解中ing!
另外还有一道题!
What does the following program print?
#include <iostream>
using namespace std;
int Vac=3;
int main(){
int Vac=10;
::Vac++;
cout<<::Vac<<endl;
cout<<Vac<<endl;
return 0;
}
这个程序输出的是什么? 为什么为这样输出啊?对全局变量和局部变量我理解的还不够!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
1)分别输出 1,1
2)分别输出 1,1
&&和||为逻辑运算,对于非0都解释为true,0都解释为false,而反过来时true解释为1,false解释为0,以y=z=2为例,y&&z等价于true&&true结果为true,然后在赋值给x时,将true解释为1进行赋值。
对于另一道题,输出为4,10
对于::后面紧跟的为全局变量,故而::Vac为全局变量,而Vac为局部变量,两个互不影响,因为他们以::进行区分。
回复 2# chenxg0076
回答是对的,因为是初学C++,全局变量在C++语法中,是如何区别的啊?::这就表示是全局变量吗?哪儿有参考的文章?帮推荐一下吧!
如果全局变量名与局部变量名相同的话,可以用::区分,但是如果没有局部变量与全局变量名字相同的,可以直接用全局变量的名字去使用全局变量。
哪儿有参考的文章的话,我也记得不是很清楚了,像这种东西需要你在编程实践中慢慢体会的。。。
回复 4# chenxg0076
谢谢了,可能还是学生的原因,对这些细节不是太清楚,现在对这个问题弄清楚了!
回复 5# 2007robot
这跟是不是学生没有关系啊,我也是学生啊,关键自己要多练习,最好你能找你们老师去做点实际的项目,这对你的提高会有很大的帮助的。。。
哥们说的对,我电子通讯专业的,主要用的是C,对C++接触的时间不多,学了些QT,可以多多交流!有机会的话是应该做下项目!