Jak wypisać dwa wyrazy z argv?

0

Hej chciałabym żeby mój program wypisał 2 wyrazy pobrane tym argv ale mój program wypisuje tylko 1 i nie wiem dlaczego.

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

int main(int argc, char **argv){

    char *str;
    printf("%s ", argv[1]);
    printf("%s", argv[2]);

    return 0;
}
2

Musisz podać 2 argumenty.

https://wandbox.org/permlink/FjBMMuIxQcgayuaa

0

Masz tam tak w ogóle UB. Musisz najpierw sprawdzić, co jest w argc. argc - 1 to maksymalny indeks w tablicy argv.

0

W tym 4-linijkowcu:

  • nie sprawdzasz ile użytkownik podał argumentów (argc)
    • jak nic nie poda, to zrobi się nieprzyjemnie
  • masz nieużywaną zmienną
  • zwracasz wynik jako 0 - jeśli nie wiesz dlaczego, tu szerszy opis: https://stackoverflow.com/a/8868139

1 użytkowników online, w tym zalogowanych: 0, gości: 1