Il risultato di strcmp è lo stesso su tutte le macchine e i compilatori?

2

Codice:

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

int main()
{   
    int n = strcmp("hello","help");
    printf("%d\n", n ) ;
    return 0;
}

Risultato:

-1

Il valore di questo programma deve essere lo stesso su tutte le macchine o su diversi compilatori?

In altre parole, questo valore di ritorno può assumere valori diversi per lo stesso programma quando viene eseguito su diversi compilatori o macchine diverse?

    
posta TryinHard 01.02.2014 - 05:57
fonte

1 risposta

5

No, viene specificato solo il suo segno.

C99 §7.21.4.2 La funzione strcmp

Sinossi:

#include <string.h>
int strcmp(const char *s1, const char *s2);

Descrizione:

La funzione strcmp confronta la stringa puntata con s1 con la stringa puntata da s2 .

La funzione strcmp restituisce un numero maggiore di, uguale o minore di zero, di conseguenza, poiché la stringa puntata da s1 è maggiore di, uguale o minore della stringa puntata da s2 .

    
risposta data 01.02.2014 - 07:10
fonte

Leggi altre domande sui tag