У меня проблемы с использованием параметров командной строки - PullRequest
0 голосов
/ 31 марта 2012

// моя программа предполагает взять операцию и два номера из командной строки и применить // операцию к двум числам, но результат всегда неверный. Почему?

#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;
}

это мой код, и если есть лучший способ сделать это, дайте мне знать.

1 Ответ

3 голосов
/ 31 марта 2012

Вы не можете сравнивать строки с == Используйте if(strcmp(argv[1], "+") == 0) и аналогично в остальной части кода.

...