error c2181: illegal else without matching if

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:22:14
# include <stdio.h>
# include <string.h>
long fun(char *str)
{long s=0,t;
int i=0,j,n=strlen(str),k,sl;
if(str[0]=='-')
i++;
for(j=i;j<=n-1;j++)
{
t=str[j]-'0';
sl=10;
for(k=j;k<n-1;k++)
t*=sl;
s+=t;}
if(str[0]=='-');
return -s;
else return s;

}
main()
{
char s[10];
long n;
FILE *out;
char *t[]={"123","789","7102","-4356"};
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
out=fopen("outfile.dat","w");
for(n=0;n<4;n++)
fprintf(out,"%ld\n",fun(t[n]));
fclose(out);
}
怎么改

if(str[0]=='-');
这句后面的分号去掉

ps:
1.你都会写这么多代码了,这种错误不会自己检查么?
2.编程的问题放到烦恼板块,你觉得合适?