weixin_42703390 2019-02-27 22:07 采纳率: 100%
浏览 496
已采纳

c++主函数返回失败的问题!求指教

#include <stdio.h>
#include <string.h>
#define max 220

struct bigint{
    int digit[max/4],size;
    void init(){
        size = 0;
        for(int i=0;i<max;i++){
            digit[i] = 0;
        }
    }
    void set(char *a){
        init();
        int sl = strlen(a),j=0,k=1,t=0;
        for(int i=sl-1;i>=0;i--){
            t+= k*(a[i]-'0');
            k*=10;
            j++;
            if(j==4||i==0){
                k = 1;
                digit[size++] = t;
                t = j = 0;
            }
        }
    }
    void output(){
        for(int i=size-1;i>=0;i--){
            if(i!=size-1)   printf("%04d",digit[i]);
            else    printf("%d",digit[i]);  
        }
        printf("\n");
    }
    bigint operator + (const bigint &a) const {
        int l=size>a.size?size:a.size,carry=0;
        bigint ret;
        ret.init();
        for(int i=0;i<l;i++){
            int t = digit[i]+a.digit[i]+carry;
            carry = t/10000;
            ret.digit[ret.size++]=t%10000;
        }
        if(carry!=0)    ret.digit[ret.size++] = carry;
        return ret;
    }
}a,b,c;

int main(){
    char str1[max],ch;
    int l=0;
    bool flag=false;
    do{
        ch=getchar();
    }while(ch=='0');
    do{
        str1[l++]=ch;
        ch=getchar();
    }while(ch!='\n');
    str1[l++] = 0;
    a.set(str1);
    l=0;
    do{
        ch=getchar();
    }while(ch=='0');
    do{
        str1[l++]=ch;
        ch=getchar();
    }while(ch!='\n');
    str1[l++] = 0;
    b.set(str1);
//  a.set(str1);
//  b.set(str1);
//  a.output();
//  b.output();
    c = a+b;
            c.output();

printf("OK\n");//执行完这句不return 0
return 0;
}

代码如上图:
功能是把两个长整数相加。
然而神奇的事情发生了,如图!printf("OK\n")执行了,return值却不对!
图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-02-27 23:51
    关注

    返回值是进程的返回值,如果你有调试器在运行,那么这个结果和main的return不同很正常

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站