广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 7517 个阅读者
 
<<   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.081573 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言