C++程序分析

发布于 2022-10-15 07:26:29 字数 835 浏览 28 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

银河中√捞星星 2022-10-22 07:26:29

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为局部变量,两个互不影响,因为他们以::进行区分。

﹉夏雨初晴づ 2022-10-22 07:26:29

回复 2# chenxg0076

回答是对的,因为是初学C++,全局变量在C++语法中,是如何区别的啊?::这就表示是全局变量吗?哪儿有参考的文章?帮推荐一下吧!

李不 2022-10-22 07:26:29

如果全局变量名与局部变量名相同的话,可以用::区分,但是如果没有局部变量与全局变量名字相同的,可以直接用全局变量的名字去使用全局变量。
哪儿有参考的文章的话,我也记得不是很清楚了,像这种东西需要你在编程实践中慢慢体会的。。。

長街聽風 2022-10-22 07:26:29

回复 4# chenxg0076

   谢谢了,可能还是学生的原因,对这些细节不是太清楚,现在对这个问题弄清楚了!

仅此而已 2022-10-22 07:26:29

回复 5# 2007robot

    这跟是不是学生没有关系啊,我也是学生啊,关键自己要多练习,最好你能找你们老师去做点实际的项目,这对你的提高会有很大的帮助的。。。

内心旳酸楚 2022-10-22 07:26:29

哥们说的对,我电子通讯专业的,主要用的是C,对C++接触的时间不多,学了些QT,可以多多交流!有机会的话是应该做下项目!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文