//p03.c --- using variable (使用變數)讀取資料來處理 //@CopyLeft by tsaiwn@csie.nctu.edu.tw // 但是這程式每執行一次只有讀一資料處理後就結束, 要如何直重複做? #include #include double x; // (注意 1) 變數 variable; // C++ 式的註解 comment int main( ) { // 大多數 main program 都這樣開頭 printf("Give me x: "); scanf("%lf", &x); // double 用%lf, float 要用 %f printf(" sqrt 根號 %f =%f\n ", x, sqrt(x) ); printf("Bye bye!\n Hit ENTER key..."); getchar( ); // 企圖從鍵盤讀取一個 char 以便等 User 按 ENTER return 0; // 告知作業系統(OS)表示我們這主程式正常結束 } // main( // /// scanf( ) 也是別人事先寫好的 程式庫函數(Library function; 函式); /// 它可以幫忙從鍵盤讀取一個或多個數, /// 你必須用第一個參數告訴它要讀幾個? 第一個參數是字串中含有 %格式 /// 並在第二個參數開始提供給它存放所讀取的各個變數的位址(address) ////// 這就是何以它的參數會長得跟 printf( )參數不一樣的原因! ////// &gg 要念作 address of gg, 表示變數 gg 的 address ////// 有一個例外: 如果 yy 是一個陣列 (array), 則 &yy 可寫 yy 就好! /// 註: 建議不要直接用 scanf( ) 讀取資料, 可改用: /// 先用 fgets( ) 把整列當作字串讀入, 然後, /// 再用 sscanf( ) 到該字串中讀入所要的資料! /****** Running Script D:\test> path C:\TC\BIN;%path% D:\test> path C:\Dev-Cpp\bin;%path% D:\test> gcc p03.c D:\test> a.exe Give me x: 5 sqrt 根號 5.000000 =2.236068 Bye bye! D:\test> a Give me x: 3 sqrt 根號 3.000000 =1.732051 Bye bye! D:\test> a Give me x: 9 sqrt 根號 9.000000 =3.000000 Bye bye! D:\test> a.exe Give me x: 2 sqrt 根號 2.000000 =1.414214 Bye bye! D:\test> tcc p03.c Turbo C++ Version 3.00 Copyright (c) 1992 Borland International p03.c: Turbo Link Version 5.0 Copyright (c) 1992 Borland International Available memory 4106928 D:\test> p03.exe Give me x: 2 sqrt 根號 2.000000 =1.414214 Bye bye! **************************************/