Grazie intanto per la risposta, è vero mi sono reso conto che quello era un errore e ho modificato in questo modo:
//verificare se una parola data in input è o no palindroma
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
int main(int argc,char *argv[]){
int end,i,ris;
char str1,str2;
if (argc>1){
end=(strlen(argv[1])-1);
for (i=0;i<end;i++){
str1=argv[1][i];
printf("str1: %c \n",str1);
str2=argv[1][end];
printf("str2: %c \n",str2);
ris=strcmp(&str1,&str2);
printf("ris: %d \n",ris);
if (ris!=0){
printf("non è palindroma \n");
return EXIT_SUCCESS;
}
end--;
}
printf("è palindroma \n");
return EXIT_SUCCESS;
}else{
printf("errore \n");
return EXIT_FAILURE;
}
}
Adesso ho notato però che provando ad eseguire la funzione, il risultato di "ris" è un valore diverso da 0 anche quando str1 è uguale a str2 (ad esempio dando come input alla funzione aa o cc).
Altra cosa strana è il fatto che la variabile ris mi risulti di valori anche molto alti (non dovrebbero essere 1,-1 o 0 i possibili valori che ritorna strcmp?).