English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

這是我寫的程式碼
#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 電腦與網際網路 程式設計

4 個解答

#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

fedest.com, questions and answers