程序没有报错,但+-×÷计算结果都是错的,所以程序错在了哪里,怎么改正

#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void processUserInputStr(char* s)
{
int len=strlen(s);
char strA[100],strB[100];
double a,b,result;
char op;
int k,posOp;
for(k=0;k<len;k++)
{
op=s[k];
if(op=='+'||op=='-'||op==''||op=='/')
{
posOp=k;
break;
}
}
strcpy(strA,s);
strA[posOp]='\0';
strcpy(strB,s+posOp+1);
a=atof(strA);
a=atof(strB);
switch(op)
{
case '+':result=a+b;break;
case '-':result=a-b;break;
case '
':result=a*b;break;
case '/':result=a/b;break;
}
printf("=%.0lf",result);

}
int main()
{
char s[20];
scanf("%s",s);
processUserInputStr(s);
return 0;
}

没什么问题,就这句错误: b=atof(strB); //a=atof(strB);

复制过来时×号被吞了