廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 7499 個閱讀者
 
<<   1   2  下頁 >>(共 2 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 宣告兩個整數的暫存器變數,算出最大公因數
題目:
請宣告兩個整數的暫存器變數,算出最大公因數。
請問大大我這個程式正不正確~

#include <stdio.h>
#include <stdlib ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被karen7710在2007-06-24 18:43重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:歐洲 | Posted:2007-06-24 17:55 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

這樣子是有達到宣告暫存器變數 , 但是好像沒有利用到他的特點 ...


獻花 x0 回到頂端 [1 樓] From:臺灣永大數位動力公司 | Posted:2007-06-25 04:13 |
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

那應該怎麼改呢? 表情


獻花 x0 回到頂端 [2 樓] From:歐洲 | Posted:2007-06-25 19:18 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

對了 你主程式的gcd(x,y)呼叫了兩次不曉得你是不是有多用了 ...

其實老實說這我幾乎沒在用,因為照他的字面上的解釋是他會被那個值放在暫存器內,但是實際上

他並不是每次都可以要到暫存器,如果沒有要到就等於一般的變數放在記憶體內,你應該曉得放在

暫存器內運算比放在記憶體快吧...

複製程式
int gcd( register int x , register int y )   //<-----宣告兩個宣告在這不知道如何....
{
  if( x % y == 0 )
      return y;
  else
      return gcd( y , x % y );
}

不過我不太常用 , 所以我不確定這樣是否會有問題 ... 表情


獻花 x0 回到頂端 [3 樓] From:臺灣永大數位動力公司 | Posted:2007-06-26 00:19 |
GNUGCC
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x11
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

其實如果在 main() 函式內第一次宣告暫存器變數時如果
系統有給妳的程式的話只要在 gcd() 函式內用參考值的方式
來處理暫存器的變數就可達到題目的用意...


獻花 x0 回到頂端 [4 樓] From:臺灣 | Posted:2007-06-26 00:53 |
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

GNUGCC大大,那我還需要改我原先的程式嗎? 表情


獻花 x0 回到頂端 [5 樓] From:歐洲 | Posted:2007-06-26 19:12 |
GNUGCC
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x11
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

只要把函式的參數改成參考值就行了, 像這樣...

int& gcd(int &x, int &y); // 這個是原型
int main(void)
{
register int x=50,y=70;

// gcd(x,y);   這個要拿掉

printf("最大公因數=%d\n",gcd(x,y));
system("pause");
return 0;
}

int& gcd(int &x, int &y)
{
if(x%y==0)
    return y;
else
{
    x = x % y;
    return gcd(y, x); // 這裡可能要改
}
}

妳先這樣跑看看是否還有其他問題...^^


獻花 x0 回到頂端 [6 樓] From:臺灣中華HiNet | Posted:2007-06-26 21:16 |
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

有出現以下的錯誤:
3 syntax error before '&' token
11 syntax error before '&' token
複製程式
#include <stdio.h>
#include <stdlib.h>
int& gcd(int &x,int &y);
int main(void)
{
     register int x=50,y=70;
     printf("最大公因數=%d\n",gcd(x,y)); 
     system("pause");
     return 0;
}
int& gcd(int &x,int &y)
{
     if(x%y==0)
       return y;
     else
     { 
       x = x % y; 
       return gcd(y,x);
       } 
}


獻花 x0 回到頂端 [7 樓] From:歐洲 | Posted:2007-06-27 19:25 |
GNUGCC
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x11
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

好像是編譯器本身不支援這樣的寫法...
我用 VC++ 可以通過編譯...


獻花 x0 回到頂端 [8 樓] From:臺灣 | Posted:2007-06-27 23:41 |
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

那要怎麼改呢?
我是dev-c++


獻花 x0 回到頂端 [9 樓] From:歐洲 | Posted:2007-06-28 08:57 |

<<   1   2  下頁 >>(共 2 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.055138 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言