-2

看一下脚本。它计算 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);
}
4

1 回答 1

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]);
}
于 2013-02-27T13:18:46.637 回答