我了解了如何将参数传递给程序。我的作业是通过传递程序参数来找出两个数字相加、相减、相乘、相除的结果。这是我的代码(我使用Visual Studio 2017):
#include "stdafx.h"
#include <stdlib.h>
int main(int argc, char*argv[])
{
if (argc != 4) {
printf("Wrong argument !");
}
else {
int a = atoi(argv[1]);
int b = atoi(argv[3]);
if (argv[2][0] == '+') {
printf("%d + %d = %d\n", a, b, a + b);
return 0;
}
if (argv[2][0] == '-') {
printf("%d - %d = %d\n", a, b, a - b);
return 0;
}
if (argv[2][0] == '*') {
printf("%d * %d = %d\n", a, b, a * b);
return 0;
}
if (argv[2][0] == '/') {
printf("%d / %d = %f\n", a, b, (float) a/ b);
return 0;
}
printf("No available operator!\n");
}
return 0;
}
当我传递参数 2 + 3 时,结果为 5。 当我传递错误的运算符,例如 2 ^ 3 时,答案是“错误的参数!”。 我已经调试了程序几次,它们打印了“没有可用的运算符!”,但它总是回到第一行,无法结束程序。 你能解释一下这种情况吗?