Czy C i C++ to to samo?
Nie!
C++ = C with classes :) To jest największa różnica. Resztę da sie jakoś przeżyć.
Powiem tylko tyle:
c != c++
c != c++
Ja nic nie sugeruję, ale to wyrażenie zwróci prawdę :-D ;-).
c != c++
Ja nic nie sugeruję, ale to wyrażenie zwróci prawdę :-D ;-).
No właśnie , przecież Cepa by nie kłamał ;)
NO dobra a czy c++ i c++Builder to to samo(coś jak pascal i delphi)?
c++ to język
BCB to środowisko programowania.
Czyli coś jak Pascal i Turbo Pascal lub Object Pascal i Delphi.
Ja nic nie sugeruję, ale to wyrażenie zwróci prawdę :-D ;-).
Pod warunkiem, że zadeklarujesz zmienną c. ;-)
c != c++
Ja nic nie sugeruję, ale to wyrażenie zwróci prawdę :-D ;-).
Nie jestem pewien:
Kompilator przecież zainterpretuje to jako:
c != c;
c++;
Czyż nie ??
[dopisane]
Zrobiłem eksperyment:
--BEGIN CODE--
#include
int main() {
int c = 10;
printf("%s\n", (c != c++) ? "true" : "false" );
}
--END CODE--
--BEGIN OUTPUT--
true
--END OUTPUT--
Ale dlaczego ??
Postanowiłem rozwiać wasze wątpliwości:
#include
int main()
{
char c;
if (c != c++)
printf(" c != c++");
}
Jaki efekt wykonania funkcji?
c != c++
:)
Czyli wyrażenie to jest prawdą. C jest czym innym niż C++
Wobec tego cepa powiedział prawdę, w co nie należało wątpić.
[dopisane]
Vogel:
najpierw jest obliczana warość wyrażenia.
if (c != c++)
to jest
a = c
c++
b = c
i z tego a != b
ale jeżeli masz:
if (c != ++c)
to ponieważ to jest preinkrementacja, to ++c jest wykonywane przed obliczeniem wartości
czyli
++c
a = c
b = c
i z tego mamy, że a == b
To jest nic. Już Marooned widział lepsze numery, gdzie standard ANSI C wysiada. Nie ma to jak asm :)