formatowanie cout
Ostatnio zmodyfikowano 2016-03-21 21:59
zolty13 Temat założony przez niniejszego użytkownika |
formatowanie cout » 2016-03-21 21:24:41 czesc mam pytanie czemu w pierwszym wypadku mamy litere a w drugim podaje kod ascii :). Czy to dlatego ze 2 przypadku ch konwertowane jest na int i cout drukuje liczbe calkowita? #include <stdio.h> #include <string> #include <iostream> #include <ctime> using namespace std; int main( int argc, char * argv[] ) { char ch = 'a'; cout << ++ch; cout << ch + 1; }
|
|
michal11 |
» 2016-03-21 21:59:48 Mniej więcej tak. W pierwszym przypadku jest wywoływana funkcja char operator ++( char c ) , natomiast w drugim przypadku, ponieważ nie ma (tak mi się wydaje) operatora+ dla char i int, to wykonywana jest niejawna konwersja char na int i wykonywana funkcja int operator +( int l, int r ) dlatego dostajesz różne wyniki. |
|
« 1 » |