C中的简单计算器使用strncpy

时间:2013-02-27 12:58:59

标签: c math strncpy

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

1 个答案:

答案 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]);
}