SOGO論壇
  登入   註冊   找回密碼
查看: 1192|回覆: 2
列印 上一主題 下一主題

[程式設計] 幫 void 用法 老手救救菜鳥拜託了 PS 版面有點亂 盡力了.. [複製連結]

Rank: 2

狀態︰ 離線
跳轉到指定樓層
1
發表於 2011-5-20 19:58:53 |只看該作者 |倒序瀏覽
第一個 程式 void 用法
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
enum Status { CONTINUE, WON, LOST };
int rollDice( void );
int main()
{
   int sum;      
   int myPoint;   
enum Status game;
srand( time( NULL ) );
sum = rollDice();
switch( sum ) {
case 7:
      case 11:         
       game = WON;
         break;
case 2:
      case 3:
      case 12:  
         game = LOST;
         break;
default:                  
         game = CONTINUE;
         myPoint = sum;
         printf( "Point is %d\n", myPoint );
         break;
   }

while ( game == CONTINUE ) {   
      sum = rollDice();
if ( sum == myPoint ) {
         game = WON;
      }
      else {
if ( sum == 7 ) {
            game = LOST;
         }
        }
}

   if ( game == WON ) {
      printf( "Player wins\n" );
   }
   else {  
      printf( "Player loses\n" );
   }
return 0;
}
int rollDice( void )
{
   int die1;   
   int die2;   
   int workSum;
die1 = 1 + ( rand() % 6 );
   die2 = 1 + ( rand() % 6 );
   workSum = die1 + die2;   
printf( "Player rolled %d + %d = %d\n", die1, die2, workSum );
   return workSum;
}

第二個程式 void  用法

/* Fig. 5.12: fig05_12.c
   A scoping example */
#include <stdio.h>

void useLocal( void );       /* function prototype */
void useStaticLocal( void ); /* function prototype */
void useGlobal( void );      /* function prototype */

int x = 1; /* global variable */

/* function main begins program execution */
int main()
{
   int x = 5; /* local variable to main */

   printf("local x in outer scope of main is %d\n", x );

   { /* start new scope */
      int x = 7; /* local variable to new scope */

      printf( "local x in inner scope of main is %d\n", x );
   } /* end new scope */

   printf( "local x in outer scope of main is %d\n", x );

   useLocal();     /* useLocal has automatic local x */
   useStaticLocal(); /* useStaticLocal has static local x */
   useGlobal();      /* useGlobal uses global x */
   useLocal();       /* useLocal reinitializes automatic local x */
   useStaticLocal(); /* static local x retains its prior value */
   useGlobal();      /* global x also retains its value */

   printf( "\nlocal x in main is %d\n", x );

   return 0; /* indicates successful termination */

} /* end main */

/* useLocal reinitializes local variable x during each call */
void useLocal( void )
{
   int x = 25;  /* initialized each time useLocal is called */

   printf( "\nlocal x in useLocal is %d after entering useLocal\n", x );
   x++;
   printf( "local x in useLocal is %d before exiting useLocal\n", x );
} /* end function useLocal */

/* useStaticLocal initializes static local variable x only the first time
   the function is called; value of x is saved between calls to this
   function */
void useStaticLocal( void )
{
   /* initialized only first time useStaticLocal is called */
   static int x = 50;  

   printf( "\nlocal static x is %d on entering useStaticLocal\n", x );
   x++;
   printf( "local static x is %d on exiting useStaticLocal\n", x );
} /* end function useStaticLocal */

/* function useGlobal modifies global variable x during each call */
void useGlobal( void )
{
   printf( "\nglobal x is %d on entering useGlobal\n", x );
   x *= 10;
   printf( "global x is %d on exiting useGlobal\n", x );
} /* end function useGlobal */



兩者的Void 用法 有何不同  因為是新手 爬了很多文 還是不太懂  拜託救救新手
已有 1 人評分威望 收起 理由
紅塵孤鳥 + 2 感謝您熱心幫助會員解決問題,論壇需要您 ...

總評分: 威望 + 2   查看全部評分

喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

Rank: 2

狀態︰ 離線
2
發表於 2011-5-21 11:49:02 |只看該作者
第一個程式:感覺像要交你使用副程式跟亂數{#include<time.h> , srand( time( NULL ) ) ,  ( rand() % 6 )}還有列舉(enum)

第二個程式:就是每個變數的生命週期你可以把這個指令放到輸出下面就知道了
               printf("位址%x\n",&x);
              這樣就可以比對他的生命週期
已有 1 人評分威望 收起 理由
紅塵孤鳥 + 2 感謝您熱心幫助會員解決問題,論壇需要您 ...

總評分: 威望 + 2   查看全部評分

請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-11-1 10:30

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部