17/05/11 14:14
Pitagora
No... la funzione strcmp viene usata per comparare due "stringhe"*. Tu non compari due stringhe bensì due caratteri. In C i caratteri vengono definiti così:
char ch = 'n';
le stringhe invece devono essere racchiuse tra due apici es: "prova stringa". Per poter utilizzare le stringhe in C devi usare un array di char o un puntatore correttamente allocato
* ho racchiuso tra doppi apici la parola stringa, perchè il C è così old che non c'è un tipo di dato che ti permette di definire tipi stringa. Il discorso invece è diverso per i float , int, char .. tutta via però si possono avere degli stessi risultati. Continua a leggere dall'interruzione.
Ultima modifica effettuata da Pitagora 17/05/11 14:19
aaa
17/05/11 14:22
Bonny
mi sa che non funziona per vari motivi.... le stringhe nel linguaggio c sono trattate come array di caratteri, per usare la strcmp() devi includere la libreria string.h
esempio:
#include<stdio.h>
#include<string.h>
int main(){
char c[] = {"prova"};
// c è un array di 5 caratteri
printf("%s\n",c);
int i = strcmp(c,"ciao");
printf("%d\n",i);
//stampa 1 xk prova > ciao
return 0;
}
strcmp(s1, s2)
return 1 se s1>s2
0 se s1 = s2
-1 se s1<s2
Ultima modifica effettuata da Bonny 17/05/11 14:24
aaa
19/05/11 12:25
torn24
ciao ,come ti hanno detto non funziona per diversi motivi !
il primo devi usare array di char e non semplici char
il secondo nella condizione del while non fai un confronto di uguaglianza
ma un assegnazione = invece dovrebbe essere ==
aaa