这里的第一张海报,原谅我的基本问题,但我似乎无法理解为什么这段代码不起作用。
我正在尝试从命令行输入,并执行简单的计算,但是,当我调试代码时,我从if语句创建的错误消息显示,而不是计算的结果。
这是我所做的代码;
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[]) {
int num1 = 0;
int num2 = 0;
int sum = 0;
int errors = 0;
int read = 0;
if (argc != 3){
errors++;
printf("Error: Less/more than 2 numbers entered.");
}
if (argc == 3){
read = sscanf(argv[1], "%d", &num1);
read = sscanf(argv[2], "%d", &num2);
if (read ==2){
sum = num1 + num2;
printf("%d", sum);
}
else{
printf("something weird happened...");
}
}
}
我在命令输入中的值是“4”和“3”(没有引号和空格来分隔它们)。因此,输出应该是总和,这将是7.但我只是得到错误消息“发生了奇怪的事情...”,这显然是我在if语句中放入的,如果上述失败。
我猜这是与我使用sscanf()两次的方法有关吗?原谅我,我是第一次学习这些东西的学生。我已经尝试过读C上的书,并且有我的讲师代码,但我认为我通过反复试验能够更好地学习,并了解它应该如何运作。任何帮助或指导都将非常感激。