推介:| 調解員課程 | Makeup Course | Hypnosis course | English course | NLP training | cissp cisa cism | 營養學課程 |

發新話題
打印

這程式又不知道出現什麼問題

這程式又不知道出現什麼問題

#include<iostream>
#include<stdlib.h>
using namespace std;
const float PI=3.14158;        // PI為全域變數
int main()
{
     int i=5;                 // i為局部變數
     {
          int j=10;           // j為局部變數
          cout << 10*PI+i*j << '\n';
     }
     cout << j <<'\n';       // 錯誤, 因j已經消失
     system("pause");
     return 0;
}

cout << j <<'\n';       // 錯誤, 因j已經消失
我想知道紅字部份中為什麼會錯誤??

TOP

{
          int j=10;           // j為局部變數
          cout << 10*PI+i*j << '\n';
     }

j是以上block的"局部變數" (local variable)
離開此block後, j便不再存在!
bcc55 編譯的錯誤訊息如下:

Error E2451 tst7.cpp 12: Undefined symbol 'j' in function main()
*** 1 errors in Compile ***
IT代工/鎗手一名!
小弟並唔平, 但絕唔係貴!

TOP

我想問你用的是不是Visual C++??
我用的則是Dev-C++
雖然我本身不是做這一行, 不過交流一下吧

TOP

yap, local variable only lives in {}........

TOP

引用:
原帖由 花之慶次 於 2006-12-14 11:57 PM 發表
我想問你用的是不是Visual C++??
我用的則是Dev-C++
雖然我本身不是做這一行, 不過交流一下吧
花之慶次兄, 小弟用的是
Borland的bc55 free commandline tools,
貪佢係greenware, 唔使install落部pc度,
放落usb手指就可以呢度去果度去!
IT代工/鎗手一名!
小弟並唔平, 但絕唔係貴!

TOP

區域變數的宣告
僅存活在局部區間
你已經跳出局間
回到較大的變數空間
正常狀態下 是不認得j是啥的

TOP

低级错误,这就是不良的编程习惯造成的结果,学好编程的第一步就是良好的习惯,否则别想写出好软件!

TOP

發新話題


重要聲明:本討論區是以即時上載留言的方式運作,本網站對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。本討論區有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。


Copyright 1997- Xocat. All Right Reserved.