看看脚本。它计算telop并打印答案。如您所见,它现在只能计算加号(+)。我从来没有做过任何C编码,因此我不知道如何计算乘法(X或*),减去( - )和除法(:或/)。
所以基本上我希望有人能告诉我如何包括乘法,减号和除法。
#include <stdio.h>
#include <stdlib.h>
int total = 0;
void telop(char*s) {
char sum[1024];
if (s[0]==0) return;
if (s[0]=='+')
{
strncpy(sum, &s[1],1);
total += atoi(sum);
}
telop(&s[2]);
}
int main()
{
telop("+1+2+3");
printf("%d", total);
}
答案 0 :(得分:2)
如果您更改“ - ”中的“+”然后计算,您也可以将其用于“/”或“*”
void telop (char*s){
char som[1024];
if(s[0]==0) return;
if(s[0]=='+')
{ strncpy (som, &s[1],1);
total += atoi(som); }
if(s[0]=='-')
{ strncpy (som, &s[1],1);
total -= atoi(som); }
if(s[0]=='/')
{ strncpy (som, &s[1],1);
total /= atoi(som); }
if(s[0]=='*')
{ strncpy (som, &s[1],1);
total *= atoi(som); }
telop(&s[2]);
}