![]() |
||
Amateur Member
![]() 加入日期: Aug 2005
文章: 39
|
Dev-C++問題
第一次使用C語言的可用視窗的軟體Dev-C++以往都是使用DOS版本
並無一 些設定問題..麻煩各位有使用過此軟件大大們解惑 #include <stdlib.h> #include <time.h> #include <math.h> #include<stdio.h> #include<math.h> #include<conio.h> #define randomize() srand((unsigned)time(NULL)) #define GLUT_DISABLE_ATEXIT_HACK #include <GL/glut.h> void srand(unsigned seed); int main(int argc, char *argv[]) { int i; -------------------------------------------------主程式 time_t t; srand((unsigned)time(&t)); for(i=1;i<=5;i++) { printf("%-5d",rand()); printf("%8d",srand(time(0));<--錯這第19行--這航本是printf("%8d",random(50);因為好像DEV- C++無RANDOM函數所以改成SRAND } ---------------------------------------------------主程式 system("PAUSE"); return 0; 錯誤訊息如下 C:\Dev-Cpp\123.c In function `main': 19 C:\Dev-Cpp\123.c syntax error before ';' token C:\Dev-Cpp\Makefile.win [Build Error] [123.o] Error 1 有請使用過Dev-C++軟體寫C的大大解惑..該主程式為書本範...程式本身因該是沒錯....感恩..大大們給予意見 程式結果是要產生個5個亂數一行是隨機一行是50已內亂數.................. |
|||||||
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Aug 2005
文章: 94
|
引用:
第19行最後少一個")" , 正確的應該是: printf("%8d",srand(time( 0 ) ) ) ; 問我朋友的@@" 他是"台大資工系" ![]() |
|||
![]() |
![]() |
Amateur Member
![]() 加入日期: Aug 2005
文章: 39
|
首先感謝大大建議..但是好像真正的癥結另有攜竅
#include <stdlib.h> #include <time.h> #include <math.h> #include<stdio.h> #include<math.h> #include<conio.h> #define randomize() srand((unsigned)time(NULL)) #define GLUT_DISABLE_ATEXIT_HACK #include <GL/glut.h> void srand(unsigned seed); int main(int argc, char *argv[]) { int i; time_t t; srand((unsigned)time(&t)); for(i=1;i<=5;i++) { printf("%-5d",rand()); printf("%8d",srand(time(0)));<----大大說的是的確望了一個")" } system("PAUSE"); return 0; } 錯誤訊息如下 C:\Dev-Cpp\123.c In function `main': 19 C:\Dev-Cpp\123.c invalid use of void expression C:\Dev-Cpp\Makefile.win [Build Error] [123.o] Error 1 |
![]() |
![]() |
Golden Member
![]() ![]() ![]() ![]() 加入日期: Aug 2004 您的住址: 北極星
文章: 2,608
|
那是因為你的問題不只是少了個)
http://member.ettoday.com/book/function.php-srand.htm srand()是不回傳值的,那prtintf()要去哪裡取值呢? 所以訊息說你使用錯誤啊.. srand()搭配rand()使用 改成 srand(time(NULL)); printf("%8d",rand()); 再試一次吧 此文章於 2007-09-04 09:07 PM 被 saiz 編輯. |
![]() |
![]() |
Amateur Member
![]() 加入日期: Aug 2005
文章: 39
|
感謝SAIZ大大的指教...的確
要搭配使用.才可...結果正確...... ------------------------------------- 編譯器: Default compiler Building Makefile: "C:\Dev-Cpp\Makefile.win" 執行檔案 '' make...'' make.exe -f "C:\Dev-Cpp\Makefile.win" all make.exe: Nothing to be done for `all'. 執行結束 編譯成功 27343 2734311000 2734311000 2734311000 2734311000 27343請按任意鍵繼續 . . . ------------------------------------------------ 感謝SAIZ大大教導...虛心學習中.....感恩 |
![]() |
![]() |