<分区>
我尝试用 C 创建一个简单的计算器。数字和运算符应该是参数。我已经有了主函数和计算函数:
主要内容:
int main(int argc, char *argv[]){
long result;
long number1 = strtol(argv[1], NULL, 10);
long number2 = strtol(argv[3], NULL, 10);
result = calculate(number1, number2, argv[2]);
printf("Result: %li", result);
return 0;
}
计算:
long calculate(long number1, long number2, char operator){
long result;
switch(operator){
case '+': result = number1 + number2; break;
case '-': result = number1 - number2; break;
}
return result;
}
当我这样启动程序时:
./calc 1 + 2
结果是 0。我认为运算符参数有问题,因为当我写 '+' 而不是 argv[2] 时它起作用了。但我不知道如何修复它,它也适用于参数。