W poniższym kodzie używam strcmp do porównywania dwóch łańcuchów i sprawiam, że porównywanie stanie się warunkiem instrukcji if. Za pomocą poniższego kodu wynik będzie wynosił hello world
, ponieważ ciąg "jeden" jest równy łańcuchowi "dwa".C - strcmp powiązane z instrukcją if
#include <stdio.h>
#include <string.h>
char one[4] = "abc";
char two[4] = "abc";
int main() {
if (strcmp(one, two) == 0) {
printf("hello world\n");
}
}
Teraz chcę zmienić program i uczynić go wydrukować hello world
jeśli dwa ciąg są różne, tak zmienić program w ten sposób:
#include <stdio.h>
#include <string.h>
char one[4] = "abc";
char two[4] = "xyz";
int main() {
if (strcmp(one, two) == 1) {
printf("hello world\n");
}
}
ja nie rozumiem, dlaczego nie robi wydrukuj wszystko.
Zmień 'if (strcmp (jeden, dwa) == 1)' na 'if (strcmp (jeden, dwa)! = 0)'. – AntonH
@EdHeal masz całkowitą rację, byłem tak pewien, że zwraca 1 jeśli łańcuchy nie są równe, przepraszam, następnym razem będzie to pierwsza rzecz, którą zrobię – scugn1zz0