// Моя программа предполагает взять операцию и буксировать номера из командной строки и применить // операцию по двум номерам, но результат всегда неправильный. Почему?У меня проблемы с использованием параметров командной строки
#include "stdafx.h"
#include<stdio.h>
#include<tchar.h>
#include<stdlib.h>
int main(int argc, char*argv[])
{
if(argc !=4)
{
printf("number of CLP is incorrect\n");
return 0;
}
int num1 = atoi(argv[2]);
int num2 = atoi(argv[3]);
int res ;
if(argv[1] == "+")
res = (num1 + num2);
else if(argv[1]=="-")
res = (num1-num2);
else if(argv[1]=="*")
res = (num1*num2);
else if(argv[1]=="/")
res = (num1/num2);
printf("You enterd Operation %s and the Resualt = %d\n" , argv[1] , res);
return 0;
}
это мой код, и если есть лучший способ сделать это, дайте мне знать.
Какую отладку вы сделали? Вы напечатали num1 и num2, чтобы убедиться, что это то, что вы ожидаете? – Corbin
Да, я сделал, и они были неправы, но я не знаю почему? – Lara
Вы проверили, что argv [2] и 3 - это то, что вы ожидаете? Кроме того, strtol может быть более полезным для проверки ошибок. – Corbin