Stringhe linux

di il
8 risposte

Stringhe linux

Ciao ragazzi ho un dobbio
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
    char s[50];
    char s1[50];
    
    
   
        printf("inserisci stringa 1:");
        getchar();
        fgets(s,50,stdin);
        strtok(s,"\n");
        
         printf("inserisci stringa 2:");
        fgets(s1,50,stdin);
        strtok(s1,"\n");
        
        if(strcmp(s,s1)<0){
            printf("la stringa minore e': %s",s);
        }
        
        else if(strcmp(s,s1)==0){
            printf("le stringhe sono uguali");}
        else if(strcmp(s,s1)>0) {
            
             printf("la stringa minore e': %s",s1);
            
            
        }
            
            
        
        }
perche facendo il confronto quando gli dico di stampare la stringa minore mi stampa quella maggiore

8 Risposte

  • Re: Stringhe linux

    Che intendi? Quali stringhe sono maggiori o minori?

    E non parlare di stringhe linux perché le stringhe sono del C non di linux
  • Re: Stringhe linux

    Se io come prima stringa scrivo verde e come seconda stringa scrivo giallo lui mi dice che la stringa minore é giallo nonostante io dico al compilatore di stampare s nel caso s <s1
  • Re: Stringhe linux

    Di nuovo: Linux non centra!
    Leggi la documentazione e vedrai che il comportamento è corretto!
  • Re: Stringhe linux

    Infatti la stringa minore è giallo.

    Peppus ma tu che hai capito della strcmp? Sai cosa fa? Sai cosa significa minore e maggiore per la strcmp?
  • Re: Stringhe linux

    Io scrivendo strcmp (s,s1)>0 so che sta a dire che s>s1 ma pensavo che s era maggiore di s1 in base ai caratteri ! Anche se so che quelli li posso vedere con la strlen
  • Re: Stringhe linux

    Peppus ti avevo già detto di non CONFONDERE strcmp con strlen ma vedo che non hai capito.

    Con la strlen CONTI il numero di caratteri della stringa, con la strcmp controlli l'ORDINE ALFABETICO, ovvero se una stringa viene prima o dopo in ordine alfabetico.

    giallo è < verde perché giallo viene prima in ordine alfabetico.

    Nulla a che vedere con la strlen, OK?
  • Re: Stringhe linux

    Sì perfetto ! Ora ho capito ! Grazie mille !
  • Re: Stringhe linux

    Speriamo bene ... leggi la documentazione delle funzioni prima di usarle!
Devi accedere o registrarti per scrivere nel forum
8 risposte