標題:
這程式又不知道出現什麼問題
[打印本頁]
作者:
花之慶次
時間:
2006-12-12 23:54
標題:
這程式又不知道出現什麼問題
#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已經消失
我想知道紅字部份中為什麼會錯誤??
作者:
jayzhou_2046
時間:
2006-12-13 09:20
{
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 ***
作者:
花之慶次
時間:
2006-12-14 23:57
我想問你用的是不是Visual C++??
我用的則是Dev-C++
雖然我本身不是做這一行, 不過交流一下吧
作者:
jim.nil
時間:
2006-12-15 04:22
yap, local variable only lives in {}........
作者:
jayzhou_2046
時間:
2006-12-15 09:48
引用:
原帖由
花之慶次
於 2006-12-14 11:57 PM 發表
我想問你用的是不是Visual C++??
我用的則是Dev-C++
雖然我本身不是做這一行, 不過交流一下吧
花之慶次兄, 小弟用的是
Borland的bc55 free commandline tools,
貪佢係greenware, 唔使install落部pc度,
放落usb手指就可以呢度去果度去!
作者:
bribelu
時間:
2006-12-15 17:10
區域變數的宣告
僅存活在局部區間
你已經跳出局間
回到較大的變數空間
正常狀態下 是不認得j是啥的
作者:
keen
時間:
2007-1-1 21:07
低级错误,这就是不良的编程习惯造成的结果,学好编程的第一步就是良好的习惯,否则别想写出好软件!
歡迎光臨 香港 Xocat Forum 討論區 (http://p.xocat.com/p/)
Powered by Discuz! 6.0.0