【问题标题】:Can anyone help me to find an error in this code? [duplicate]谁能帮我找出这段代码中的错误? [复制]
【发布时间】:2021-03-11 15:54:48
【问题描述】:
#include<iostream>

using namespace std;
    
int gvalue=10;


void extra(){
cout<< gvalue<<'  ';
}


int main()
{
    extra();
    {
        int gvalue=20;
        cout<<gvalue<<' ';
        cout<<gvalue<<' ';
    }
}

我得到的输出是:10822420 20

我无法得到错误是什么? & 以下代码部分的含义和工作原理是什么?

extra();
{
    int gvalue=20;
    cout<<gvalue<<' ';
    cout<<gvalue<<' ';
}

提前谢谢..!! 忽略糟糕的英语。

【问题讨论】:

标签: c++ function


【解决方案1】:

' '(注意撇号之间有两个空格)是一个多字符文字。它的值是实现定义的;显然在你的实现中它是8224(恰好是32 * 256 + 32,以防你想知道这个数字是从哪里来的;32 是空间' ' 的ASCII 码)。

【讨论】:

  • 谢谢,我明白了。
  • 我还想问什么?调用函数后有括号是什么意思?就像我只粘贴不带括号的代码会有什么不同
  • 你能解释一下你说的是哪一行代码吗?您不能在此处删除括号:extra();,这将完全改变含义并使代码什么也不做。
  • 大括号与函数调用无关。这只是一个块,又名compound statement。这里是多余的——大括号可以去掉而不改变程序的含义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 2011-05-03
  • 2019-08-28
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多