我有这段代码。我需要从字节流中减去数字(已经被,
标记化)。
问题是,当我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
先谢谢, 萨费
答案 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);
}