Originariamente inviato da byaur
prova con questa...
codice:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char **argv) {
  int num1, num2, num3;
   float ris;
   char *op;
	
  op =(char *)malloc(sizeof(char));
if (argc = 3) {	
   num1 = atoi(argv[1]);
   num2 = atoi(argv[3]); 
   strcpy(op, argv[2]);
   
printf("\n\n L'operazione che hai richiesto e %d %s %d \n\n\n", num1, op, num2);

if (strcmp(op,"+") == 0){
	ris = num1 + num2;
}
if (strcmp(op,"-") == 0){
	ris = num1 - num2;
}
if (strcmp(op,"*") == 0){
	ris = num1 * num2;
}
if ((strcmp(op,"/") == 0) && num2!=0){
	ris = num1 / num2;
}
if (strcmp(op,"%") == 0){
	ris = num1 % num2;
}
}
printf("Il risultato dell'operazione e %.2f\n\n", ris);
return(0);
}
cosi funzica...
ciao ciao
Ho provato il codice e non mi sembra che funz per la moltiplicazione, e se invece voglio usare per il modulo "&" al posto di "%" non funziona. Il problema è che * e & vengono interpretati dalla shell e quindi nel caso di "*", viene passato l'elenco dei files presenti nella directory non il carattere '*'.