Ciao ragazzi, ho dei problemi a passare dei valori da riga di comando. Mi spiego, dovrei fare una sorta di calcolatrice su riga di comando, devo digitare 12 operatore 12 e deve tornarmi un risultato.
Il fatto è che non vuole fare quello che dico io.
ho usato degli if con delle condizioni del tipo if argv[2] (secondo parametro?) è uguale a '+' somma, se è uguale a meno...

dove sbaglio?

vi posto il codice, premetto che è il primo prog C che faccio

/*
*
* esercizio 1 - arith valore1 operatore valore2
*
*/

codice:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

int main (int argc, char **argv) {
  int num1, num2, num3;
		float ris;
		char op;
				
	if (argc = 3) {
				
	num1 = atoi(argv[1]);
	num2 = atoi(argv[3]);
	num3 = atoi(argv[2]);
	op = (char)num3;

	printf("\n\n L'operazione che hai richiesto è %d %c %d \n\n\n", num1, argv[2], num2);

	if (op=='+'){
		ris = num1 + num2;
	}
	if (op=='-'){
		ris = num1 - num2;
	}
	if (op=='*'){
		ris = num1 * num2;
	}
	if (op=='/' && num2!=0){
		ris = num1 / num2;
		}
	  else{
			printf("Non si può fare una divisione per 0!!!");
		}
	if (op=='&'){
		ris = num1 % num2;
	}
		}

	//if (argc = 2) {
	 
	 //num2 = atoi(argv[2]);	
	
	//if (argv[2]=='sqr'){
		  //ris = num2 * num2;
		//}
		//if (argv[2]=='sqrt' && num2!=0){
	  //ris = sqrt(num2);
	//	}
			
       	//if (argc != 2 && argc != 3) {
	  //perror("Numero parametri errato");
		//exit(0);
		//}
	
	//printf("Il risultato dell'operazione è %lf\n\n", ris);	
	//exit(0);
	//	}	
}
ciao grazie