c语言error ld returned,[Error] ld returned 1的错误
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
#include
#include
#include
#include
#include
#define MAX 101
#define N 1000
#define M 250000
/*函數(shù)功能:利用字符串實(shí)現(xiàn)超長數(shù)加減法運(yùn)算 */
void jianfa(int a[],int b[],int f);
int lena,lenb,da=1,db=1; /* 把lena,lenb設(shè)為全局變量,lena紀(jì)錄第一個(gè)超長型數(shù)組的位數(shù),lenb紀(jì)錄第二個(gè)超長型數(shù)組的位數(shù)*/
char b1[MAX], b2[MAX]; /*紀(jì)錄需要計(jì)算的兩個(gè)超長型數(shù)據(jù) */
void input(int a1[],int a2[]) /*函數(shù)input為輸入函數(shù),用來紀(jì)錄兩個(gè)待計(jì)算的超型數(shù)據(jù),以數(shù)組首地址為參數(shù).以實(shí)現(xiàn)返回兩個(gè)超長型數(shù)據(jù)*/
{
FILE *fp1;
if((fp1=fopen("xxx.txt","a+"))==NULL)
{ printf("\n cannot creat!");
exit(0);
}
int i,fa=1,fb=1;
printf("請輸入第一個(gè)數(shù):\n");
scanf ( "%s", b1);
fputs(b1,fp1);
fputs(" , ",fp1);
printf("請輸入第二個(gè)數(shù):\n"); /*輸入兩個(gè)超長型數(shù)據(jù)*/
scanf("%s",b2);
fputs(b2,fp1);
lena = strlen( b1 ); /*lena紀(jì)錄b1的位數(shù)*/
lenb = strlen( b2 ); /*lenb紀(jì)錄b2的位數(shù)*/
if(b1[0]=='-') { lena--; da=-1;fa=0;} /*判斷數(shù)組的符號*/
if(b2[0]=='-') { lenb--; db=-1;fb=0;}
for (i=0; i
for (i=0; i
}
void jiafa(int a[],int b[],int f) /*超長型數(shù)據(jù)加法運(yùn)算 */
{
FILE *fp1;
int i,c[MAX+1]={0},s;
if((fp1=fopen("xxx.txt","a+"))==NULL)
{ printf("\n cannot creat!");
exit(0);
}
if(da*db>0||f)
{
if(lena>lenb) s=lena;
else s=lenb; /*用s紀(jì)錄結(jié)果的最大位數(shù)*/
for(i=0;i
{
c[i]=a[i]+b[i]+c[i];
c[i+1]=(int)c[i]/10; /*c[i+1]代表進(jìn)位*/
c[i]=(int)c[i]%10; /*超長數(shù)加法運(yùn)算過程*/
}
if(c[s]) s++; /*判斷最后結(jié)果的位數(shù)*/
fputs("\n兩者之和:\n",fp1);
if(da<0&&f||da<0) {printf("-");fputc('-',fp1);}
for(i=s-1;i>=0;i--)
{printf("%d",c[i]); fprintf(fp1,"%d",c[i]);} /*輸出結(jié)果*/
}
else jianfa(a,b,1);
}
void jianfa(int a[],int b[],int f) /*超長數(shù)減法運(yùn)算*/
{
FILE *fp1;
int i,u=0,c[MAX+1]={0},s;
if((fp1=fopen("xxx.txt","a+"))==NULL)
{ printf("\n cannot creat!");
exit(0);
}
fputs("\n兩者之差:\n",fp1);
if(da*db>0||f)
{
if(lena>lenb) s=lena;
else /*用s紀(jì)錄結(jié)果的最大位數(shù)*/
{ s=lenb;
for(i=s;a[i]<=b[i]&&i>=0;i--)
if(a[i]
}
if(!u) /*超長數(shù)減法運(yùn)算過程*/
for(i=0;i
{
if(a[i]
{ a[i+1]--;
a[i]+=10;
}
c[i]=a[i]-b[i];
}
else /*當(dāng)a
for(i=0;i
{
if(b[i]
{ b[i+1]--;
b[i]+=10;
}
c[i]=b[i]-a[i];
}
while(!c[s-1]&&s>1) s--; /*判斷最后結(jié)果的位數(shù)*/
if(f&&(da>0&&u||da<0&&!u)||da>0&&(db>0&&u||u&&!f)) {printf("-");fputc('-',fp1);}
if(da<0&&db<0&&!u) {printf("-");fputc('-',fp1);} /*如果u為真是輸出負(fù)號*/
for(i=s-1;i>=0;i--) {printf("%d",c[i]);fprintf(fp1,"%d",c[i]);}
}
else jiafa(a,b,1);
}
找不到哪里錯(cuò)了。。。
總結(jié)
以上是生活随笔為你收集整理的c语言error ld returned,[Error] ld returned 1的错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php的yii框架配置,php配置yii
- 下一篇: 小甲鱼python课后题简书_Pytho