I need some help with my simple calculator program. It seems to work fine until I use the * symbol for multiplication. When I use the * symbol it comes out to be 99 instead of the ASCII equivalent of 42. The arguments it expects are an integer, operator(+ ,-, *, /) and another integer.
#include <stdio.h>
#include <stdlib.h>
/*
void usage() {
    printf("This is a calculator program, just put in to numbers and and operator\n");
    printf("Example:\n\t2 + 2\n");
}
*/
int main(int argc, char *argv[]) {
    int first_number, second_number;
    int symbol;
    int sum;
    first_number = atoi(argv[1]);
    second_number = atoi(argv[3]);
    symbol = (int)*argv[2];
    printf("symbol varable = %d\n", symbol); // debugging for argv[2]
    if (symbol == 43 ) {
        sum = first_number + second_number;
        printf("sum = %d\n", sum);
    }
    else if (symbol == 45 ) {
        sum = first_number - second_number;
        printf("sum = %d\n", sum);
    }
    else if (symbol == 42) {
        sum = first_number * second_number;
        printf("sum = %d\n", sum);
    }
     else if (symbol == 47) {
        sum = first_number / second_number;
        printf("sum = %d\n", sum);
    }
    return 0;
}
 
     
    