作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法计算非整数的数字。我需要一种将字符转换为字符串以使用 atoi() 函数的方法,或者至少需要一种计算这些数字的方法
我尝试从字符中减去 48/'0'。
argv = 添加 2 3 5 7 11 13
#define MINIMUM_ARGS 2
int main(int argc, char** argv)
{
int i = 0;
int calc = 0;
char string[2] = { 0 };
if ((strcmp(argv[1], "SUB") == 0 || strcmp(argv[1], "ADD") == 0) && ((argc - MINIMUM_ARGS) > 1))
{
string[0] = argv[2]; //Making calc be the value of the first number.
calc = atoi(string);
for (i = 3; i < argc; i++)
{
if (strcmp(argv[1], "SUB") == 0)
{
if (strlen(argv[i]) > MINIMUM_ARGS)
{
calc -= atoi(argv[i]);
}
else
{
calc -= atoi(argv[i] - 48);
}
}
else
{
if (strlen(argv[i]) < MINIMUM_ARGS)
{
string[0] = argv[i];
calc += atoi(string);
}
else
{
calc += atoi(argv[i]);
}
}
}
printf("Result: %d", calc);
}
预期 = 41得到 = 0
最佳答案
在我看来,你让事情变得比需要的更复杂。我不明白为什么在将输入字符串转换为数字的代码中使用 MINIMUM_ARGS
- atoi
就是您所需要的。
也许像:
#define MINIMUM_ARGS 3
int main(int argc, char** argv)
{
int i = 0;
int calc = 0;
if ((strcmp(argv[1], "SUB") == 0 || strcmp(argv[1], "ADD") == 0) && (argc >= MINIMUM_ARGS))
{
calc = atoi(argv[2]);
for (i = 3; i < argc; i++)
{
if (strcmp(argv[1], "SUB") == 0)
{
calc -= atoi(argv[i]);
}
else
{
calc += atoi(argv[i]);
}
}
printf("Result: %d\n", calc);
}
}
关于c - 我需要从 argv 输入计算数字,但数字不是整数,而是字符。我该如何施放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55651822/
我在字符串中有一个实例变量名 var name: String 我的类实现了 NSCoding 协议(protocol)。所以对于我的名字 func encodeWithCoder(aCoder: N
在我的项目中使用的源文件中,ssize_t 和 size_t 变量之间有一个比较: ssize_t sst; size_t st; if(sst == st){...} 我想摆脱警告: warning
我是一名优秀的程序员,十分优秀!