Inna twórczość > C, C++
Co to kur... jest
Frodo:
--- Kod: ---#include <iostream>
#include <string>
using namespace std;
int main()
{
int lol = 4;
if (!(lol = 5)) cout << "char isnt 5 but test is finished!";
return 0;
}
--- Koniec kodu ---
Testowałem sobie właśnie "!" i za nic nie mogę pojąć dlaczego tekst który mam w poleceniu cout nie wyświetla się. Bo jeżeli wpiszę:
if (lol = 5) ... to jasne że to nie jest prawda i polecenie nie powinno się wyświetlić. A wyświetla się. Zaś gdy dodam "!" jak w przykładzie powyżej, z fałszu powinna się zrobić prawda, tak? Więc dlaczego tak nie jest?
Krolik:
siema, jestem kolegą królika. najprawdopodobniej dlatego, że warunek nie jest spełniony, a tak na marginesie obejmuj wszystko w bloki.
pozdrawiam programista delphi.
Frodo:
Inna sprawa. Nie mogę pojąć pointerów tj. wskaźników. A to dlatego że najzwyczajniej nie widzę w nich żadnego sensu. Nie rozumiem ich i nie mam jak sprawdzić ich wykorzystania w praktyce. Jakieś porady?
Krolik:
W tym kodzie nie widzę abyś stosował wskaźniki. Polecam kurs na th
Yasiek:
Po pierwsze na razie niepotrzebnie includujesz stringi.
Po drugi powinno byc if (lol != 5) cout << "char isnt 5 but test is finished!";
A co do Twojej konstrukcji powinien byc znak podwojny =, tj. ==
ale nie wiem czy takie cos zadziala, a do pierwszego jestem pewny
Po trzecie program Ci się automatycznia wylacza, sprobuj przed returnem dac getch();(tu chyba jest potrzebna biblioteka <conio.h>)
albo cin >> naprzykladowa_wczesniej zadeklarowana zmianna..
Powodzenia z C++
EDIT: Sorry Frodo, że bez ładu i składu. Nie zrozumielismy sie. modyfikator "!" daje się zamiast jednego =, a tak jak powiedzial Zysk lol=5 jest prawda, poniewaz nie mamy porownania.
Nawigacja
[#] Następna strona
Idź do wersji pełnej