PDA

View Full Version : if char


rouges27
04-04-2014, 12:42
buongiorno a tutti, io volevo inserire un if nel quale se mettevo la risposta indicata, mi eseguiva determinati ordini, ho provato a fare in 2 modi ma mi esegue solo l'else anche se nella x scrivo giusto qualcuno mi puņ dire dove sbaglio? grazie

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char testo[100], x[7];


char y[7]={"avviso"};
printf("ciao vecio oru io ti scrivero' in inglese e tu mi scriverai la traduzione\n");
printf("advice\n");
scanf("%s", &x);
if(x==y)
{...}

oppure


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char testo[100], x[7];


printf("ciao vecio oru io ti scrivero' in inglese e tu mi scriverai la traduzione\n");
printf("advice\n");
scanf("%s", &x);
if(x=="avviso")
{...}

lorenzo.c
04-04-2014, 17:29
Se non ricordo male (son passati 3-4 anni :D) in C il nome di un array e' un puntatore al primo elemento, quindi il tuo confronto non ha senso. Per comparare due stringhe devi usare la strcmp(), ti ricopio questo esempio:


#include <stdio.h>
#include <string.h>

int main ()
{
char str1[15];
char str2[15];
int ret;


strcpy(str1, "abcdef");
strcpy(str2, "ABCDEF");

ret = strcmp(str1, str2);

if(ret > 0)
{
printf("str1 is less than str2");
}
else if(ret < 0)
{
printf("str2 is less than str1");
}
else
{
printf("str1 is equal to str2");
}

return(0);
}