這是我寫的程式碼
#include
int random(int);
void main(){
printf(\"%d\",random(100));
}
我主要想了解為什麼random不能用?
不然就是只出現一個固定的數,不是亂數
試了很多遍,也找了很多文章都沒有詳細的說明
我在compile都沒問題,但在build卻出現問題
以下是錯誤訊息
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol \"int __cdecl random(int)\" (?random@@YAHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Cpp1.exe - 2 error(s), 0 warning(s)
請問要怎麼改,random才能用?
PS: randomize 和 rand我有用過了,現在只想了解 random
2006-08-23 21:42:50 · 4 個解答 · 發問者 丫達 2 in 電腦與網際網路 ➔ 程式設計
#include
#include
void main()
{
int random(int);
srand((unsigned) time(NULL));
printf("%d\n",random(100));
}
編譯結果:
/temp> gcc 015.c
015.c: In function ‘main’:
015.c:6: warning: return type of ‘main’ is not ‘int’
015.c:9:2: warning: no newline at end of file
/temp>
加入srand函式後亂數輸出沒什麼問題
你編譯上的錯誤,應該是你編譯器沒有支援這函式庫跟語法的關係
建議你換個編譯器試試
這是我用的版本,參考一下
/temp> cc --version
cc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
2006-08-24 05:11:48 · answer #1 · answered by Xiao Lan 4 · 0⤊ 0⤋
rand()%101 ....產生0~100
據我所知...random()好像是TC++的...
2006-08-24 03:31:33 補充:
上面那是題外話......
2006-08-23 23:29:34 · answer #2 · answered by ? 4 · 0⤊ 0⤋
原因 sheep 已說明。
你要用的話,要去掉
int random(int);
最前面要加上
#include
把 random(100);
改成 rand();
要它每次執行會不同,要在最前面加
#include
在 main(){ 後加上
srand(time(null));
手邊目前沒有 compiler,可能有小錯誤。
您自己試一下。
2006-08-23 22:20:20 · answer #3 · answered by ? 7 · 0⤊ 0⤋
#include
int random(int);
void main(){
printf("%d",random(100));
}
只有這五行?
這代表你自己宣告了一個函數叫做random()
可是你沒有給他定義
它怎麼知道怎麼實做
不是你給他定一個名字叫做"random"
程式碼就會自己表現出"random"這個行為喔
randomize 和 rand可以用
那是因為那都已經是標準函式庫的東西
已經是有人幫你寫好了, 所以你可以直接用
2006-08-24 10:36:33 補充:
對喔, 忘記還有TC, 想說這麼短應該不是在BCB裡面
2006-08-23 21:54:27 · answer #4 · answered by ? 4 · 0⤊ 0⤋