C++ 在while循环中进行减法。C++;
我有这个代码片段。我需要从字节流中减去数字(字节流已经被C++ 在while循环中进行减法。C++;,c++,linux,string,strtok,subtraction,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
,
标记)
问题是,当我做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
提前感谢,,
更安全你想取第一个,然后从中减去下一个,对吗
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);
}
你想加上负数,减去正数?如果是这样,那么减去每个数字的绝对值。老实说,我没有得到你的答案。。我有一组整数,我需要从下一个中减去一个。。等等,我不明白这个问题。你能展示一些输入和预期输出的例子吗?如果你需要a-b+c-d+e-f。。。你应该加减。或写入
sub=atoi(…)-sub代码>如果您不关心符号。@CarlNorum更新了输入/输出。是的,完全正确。我所做的是:sub=atoi(pchNew)-sub;(这里没有管理标志!)而不是:sub=sub-atoi(pchNew);