voidUniverse 2016-03-17 05:48 采纳率: 66.7%
浏览 2341
已采纳

同样代码VC6.0结果正确,GCC编译运行结果不正确,原因是什么呢?谢谢!

#include

int main()
{
char deno[1000]={'\0'},num,i=0,remain=0;
scanf("%s %d",deno,&num); //获取被除数、除数
if(!num) return (-1);

while(deno[i]!='\0')    
    deno[i++]-='0'; //转换成数字
deno[i]='#';        //结束标志
i=0;
while(deno[i]!='#')
{
    deno[i]+=remain;            //低位+高位余数
    remain=10*(deno[i]%num);    //高位余数
    deno[i]=deno[i]/num+'0';    //商的ASCII码    
    i++;
}
deno[i]='\0';   //串尾
remain/=10;     //最后余数

if(deno[0]=='0'&&deno[1]!='\0') //高位0不显示
    printf("%s %d",&deno[1],remain);
else
    printf("%s %d",deno,remain);
return 0;

}

VC++6.0下运行结果:
图片说明
图片说明
图片说明
GCC编译后运行结果:
图片说明

  • 写回答

5条回答 默认 最新

  • longyu_wlz 2016-03-21 00:41
    关注

    (gdb) n
    12 4

    Breakpoint 1, main (argc=1, argv=0x7fffffffe288) at source.c:7
    7 if(!num) return (-1);
    (gdb) p deno
    $1 = '\000'
    (gdb) p deno[0]
    $2 = 0 '\000'
    (gdb)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?