程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-解釋下為什麼每個輸出為什麼是這個數

c++-解釋下為什麼每個輸出為什麼是這個數

編輯:編程解疑
解釋下為什麼每個輸出為什麼是這個數

#include
using namespace std;
int main()
{
{
int x=1;
cout<<x<<endl;//輸出1
{
cout<<x<<endl;//我認為輸出隨機值實際輸出1
int x=2;
cout<<x<<endl;//輸出2
{
cout<<x<<endl;//我認為輸出隨機值實際輸出2
int x=3;
cout<<x<<endl;//輸出3
}
cout<<x<<endl;//輸出2
}
cout<<x<<endl;//輸出1
}
}//為什麼

最佳回答:


int main()
{
{
int x=1;
cout<<x<<endl;//輸出1
{
cout<<x<<endl;//我認為輸出隨機值實際輸出1
//** 編譯器編譯時查找x的標識符,此時未找到此定義域中的x=2,所以用了上一層的x=1
int x=2;
cout<<x<<endl;//輸出2
{
cout<<x<<endl;//我認為輸出隨機值實際輸出2
//** 編譯器編譯時查找x的標識符,此時未找到此定義域中的x=3,所以用了上一層的x=2
int x=3;
cout<<x<<endl;//輸出3
}
cout<<x<<endl;//輸出2
}
cout<<x<<endl;//輸出1
}
}//為什麼

//** 編譯器會編譯時找到相同的變量標識x,會現在當前作用域位置,如果沒有就往上一層找。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved