在while循环中减法。 C ++

时间:2013-05-17 22:54:31

标签: c++ linux string strtok subtraction

我有这段代码。我需要从字节流中减去数字(已经被,标记化)。

问题是,当我sub = sub - atoi(pchNew)时,它会给出所有数字的总和为负数。不幸的是,减法与加法和乘法不同/简单。

我的问题是:我们如何在while循环中减去数字?

else if(strcmp(pch, "sub")==0)
{
    sub = 0;
    pch = strtok(NULL," ");

    pch = strtok(pch," ");
    //printf ("------->%s   :",pch);
    pchNew = strtok(pch, ",");
    do
    {
        sub = sub - atoi(pchNew);

        //write(STDOUT_FILENO,"IN LOOP\n",9);
        pchNew = strtok(NULL,",");

    } while(pchNew !=NULL);

    printf("The Subtraction is= %d\n", sub);
    fflush(stdout);
}

'更新:'

输入:

Client> sub 4,3,4,5

输出:

Server> The Subtraction is= -16

先谢谢, 萨费

1 个答案:

答案 0 :(得分:0)

你想拿第一个并从中减去下一个吗?

else if(strcmp(pch, "sub")==0)
{
pch = strtok(NULL," ");

pch = strtok(pch," ");
//printf ("------->%s   :",pch);
pchNew = strtok(pch, ",");

sub = atoi(pchNew);
pchNew = strtok(NULL,",");

while(pchNew !=NULL)
{
sub = sub - atoi(pchNew);

//write(STDOUT_FILENO,"IN LOOP\n",9);
pchNew = strtok(NULL,",");

};

printf("The Subtraction is= %d\n", sub);
fflush(stdout);
}
相关问题