| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1936 人关注过本帖
标题:编译通过,但运行时出错
取消只看楼主 加入收藏
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:5 
编译通过,但运行时出错
程序代码:
#include<stdio.h>
int main()
{
    int m,n,i,j;
    printf("This is a program about greatest common divisor and least common multiple\n");
    scanf("%d%d",&m,&n);
    i=m;
    j=n;
    for(;(m%n)!=0;)
    {
        m=n;
        n=m%n;
    }
    printf("greatest common divisor is %d",m);
    printf("least common multiple is %d",(i*j)/m);
    return 0;
}
//我这是一个输出两个数的最大公约数和最小公倍数的程序,编译未报错,运行时输入数据回车后就出现如下错误 
上网搜说是程序崩溃,但不知道是什么原因,希望大家能帮我看下哪里出错,谢谢了
运行环境为win7下C-Free4.0
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 wssy213 于 2014-6-21 15:41 编辑 ]
2014-06-21 15:35
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
找到错误的地方了= =||

坚持----------------------------------唯一的道路
shit ! ! !
2014-06-21 15:55
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
我把m%n赋值给c,然后再用c作为循环判断条件,这样就没错了,但是有一个问题就是为什么不能直接用m%n做判断条件呢,这样没语法错误吧
希望大家帮忙解惑

坚持----------------------------------唯一的道路
shit ! ! !
2014-06-21 16:00
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
恩,懂了,谢谢,本来打算是另外一个变量来储存的,但后来想到好像能够不用,结果就没考虑到这了

坚持----------------------------------唯一的道路
shit ! ! !
2014-06-21 16:24
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
恩,在交换数据时乱减少使用的变量确实会导致问题

坚持----------------------------------唯一的道路
shit ! ! !
2014-06-21 16:26
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
多谢指教

坚持----------------------------------唯一的道路
shit ! ! !
2014-06-21 21:35
快速回复:编译通过,但运行时出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019800 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved