Compile Error,求大神帮我看看

P1957 口算练习题

Xing_Kong_C @ 2023-10-01 02:15:27

试过的调试

1.一开始以为没有itoa函数,然后搜到itoa函数的原代码直接敲上去还是clion上可以运行但是洛谷中编译失败。 2.然后以为哪些头文件没有,用了万能头文件还是编译失败。 3.以为没有fflush函数,改换gets将缓冲区的回车清掉,结果还是编译失败。 4.

代码如下

cpp#include "bits/stdc++.h"
using  namespace std;
char c1[25]={0},c2[25]={0},c3[25]={0};
int main()
{

    int n,y,a1,a2,a3,s1,s2,s3,k;
    cin>>n;
    fflush(stdin);
    for(int i=1;i<=n;i++)
    {
        c1[25]={0},c2[25]={0},c3[25]={0};
        gets(c1);
        if(c1[0]=='a')
        {
            y=1;
        }
        else if(c1[0]=='b')
        {
            y=2;
        }

        else if(c1[0]=='c')
        {
            y=3;
        }
        else
        {
            for(int j=0;j<=20;j++)
                c2[j]=c1[j];
            goto model1;
        }
        k=0;
        for(int j=2;j<=20;j++)
            c2[k++]=c1[j];
        model1:
        a1=strtol(c2,NULL,10);
        itoa(a1,c3,10);
        s1=strlen(c3);
        k=0;
        for(int j=s1+1;j<=20;j++)
            c3[k++]=c2[j];
        a2=strtol(c3,NULL,10);
        itoa(a2,c3,10);
        s2=strlen(c3);
        if(y==1)
        {
            a3=a1+a2;
            itoa(a3,c3,10);
            s3=strlen(c3);
            cout<<a1<<'+'<<a2<<'='<<a3<<endl<<s1+s2+s3+2<<endl;
        }
        else if(y==2)
        {
            a3=a1-a2;
            itoa(a3,c3,10);
            s3=strlen(c3);
            cout<<a1<<'-'<<a2<<'='<<a3<<endl<<s1+s2+s3+2<<endl;
        }

        else if( y==3)
        {
            a3=a1*a2;
            itoa(a3,c3,10);
            s3=strlen(c3);
            cout<<a1<<'*'<<a2<<'='<<a3<<endl<<s1+s2+s3+2<<endl;
        }
    }
    return 0;
}

by MsgNotFound @ 2023-10-01 06:51:34

建议使用Devc++编辑器,这个代码的编译错误的原因是没有找到itoa和gets的定义 @Xing_Kong_C


by DioxygenDifluoride @ 2023-10-01 08:27:36

itoa 不是标准库函数,gets 被弃用,当然用不了啦


by DioxygenDifluoride @ 2023-10-01 08:28:28

可以用 sprintf 代替 itoa


by DioxygenDifluoride @ 2023-10-01 08:28:51

@Xing_Kong_C


by Xing_Kong_C @ 2023-10-01 21:45:24

@DioxygenDifluoride 好的谢谢


by Xing_Kong_C @ 2023-10-01 21:47:28

@42_TZY 好的谢谢


|