• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Osobliwy problem z tablicami przesłanymi do fukcji

VPS Starter Arubacloud
0 głosów
162 wizyt
pytanie zadane 2 lutego 2017 w C i C++ przez Miszo Bywalec (2,100 p.)

Witam! Mam dziwny, niezrozumiały problem z wartościami tablic w fukcji main i przesłanej do innej fukcji

char napis[100]= "abcdfggg"
char zbiornik[100];

main() {
if (napis[0] == zbiornik[0]) {

		cout << "Prwada";
	}
}

wynik nie napisze prawdy, ale 

char napis[100]= "abcdfggg"
char zbiornik[100];

main() {
 funkcja(zbiornik, napis);
}

void funkcja(char * napis, char * zbiornik) {

if (napis[0] == zbiornik[0]) {

		cout << "Prwada";
	}

}

teraz napisze prawde, chociaż jest to totalnie sprzeczne z logiką bo śmięć znajdujący sie w zbrionik[0] nie może być równy literce 'a' znajdującej się w napis[0];

 

komentarz 2 lutego 2017 przez niezalogowany
yyy po pierwsze ten kod się nie kompiluje (nie ma średnika po char napis[100]= "abcdfggg")
Po drugie po poprawieniu błędów i uruchomieniu program działa normalnie http://cpp.sh/2mqfy

1 odpowiedź

+1 głos
odpowiedź 2 lutego 2017 przez unknown Nałogowiec (39,560 p.)
Używanie niezainicjalizowanych zmiennych to UB, więc nie ma sensu spekulować dlaczego wynik wykonania programu jest taki a nie inny.

Podobne pytania

0 głosów
3 odpowiedzi 487 wizyt
pytanie zadane 21 lipca 2017 w JavaScript przez modest Nowicjusz (210 p.)
–1 głos
0 odpowiedzi 357 wizyt

92,957 zapytań

141,915 odpowiedzi

321,147 komentarzy

62,286 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...