代码 求大神指教
#include
int main(void)
{
char str[80];
char str_16[80];
int i=0;
while((str[i]=getchar())!='#')
{
i++;
}
str[i]='\0';
int k=0;
for(int j=0;j<i;j++)
{
if((str[j]>='0'&&str[j]<='9')||(str[j]>='a'&&str[j]<='f')||(str[j]>='A'&&str[j]<='F'))
{
str_16[k]=str[j];
k++;
}
}
str_16[k]='\0';
long number=0;
int flag=0,flag2=0;
for(int j=0;j<k;j++)
{
if(flag==0&&str[j]=='-')
{
flag2=1;
}
if(str_16[j]>='0'&&str_16[j]<='9')
{
flag=1;
number=number*16+str_16[j]-'0';
}else if(str_16[j]>='a'&&str_16[j]<='f')
{
flag=1;
number=number*16+str_16[j]-'a'+10;
}else{
flag=1;
number=number*16+str_16[j]-'A'+10;
}
}
if(flag2==1){
number=-number;
}
printf("%ld",number);
return 0;
}