计算机小混子 2022-04-26 10:13 采纳率: 100%
浏览 22
已结题

求解释关于局部变量的问题

img

求解释第二行2,3,-2 a在外面没有变化不应该是3吗 b++所以是3 c是-2


#include <iostream>
using namespace std;

void main()
{
    int a = 3, b = 2, c = 1;
    c -= ++b;//c=1-3=-2  b=3;
    b *= a + c;//b=2*(3-2)=2;
    {
        int b = 5, c = 12;
        c /= b * 2;//c=c/10=1
        a -= c;//a=a-c=3-1=2
        cout << a/*2*/ << "," << b/*5*/ << "," << c/*1*/ << endl;
        c += --c;
    }
    cout << a << "," << b << "," << c << endl;
}
  • 写回答

2条回答 默认 最新

  • 黑白码农 2022-04-26 10:36
    关注

    因为你的b、c是重新定义了int,

    int b = 5, c = 12;
    
    

    a没有定义,所以a用的就是外面的a

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月26日