Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dziwne znaki w konsoli

Ostatnio zmodyfikowano 2015-04-01 21:57
Autor Wiadomość
Olafson1999
Temat założony przez niniejszego użytkownika
Dziwne znaki w konsoli
» 2015-04-01 21:27:53
Witam! Dopiero uczę się programować w C++ i mam mały problem z pewnym programem. Otóż skompilowałem poniższy kod, ale w konsoli zamiast skopiowanych znaków tablicy, pojawiły się dziwne znaki (`3A) a w innym kompilatorze jeszcze inne. Czy wie ktoś może, dlaczego się tak dzieje?

C/C++
#include <iostream>

using namespace std;
void kopia( char zrodlo[], char cel[] );
//*************************************************************************************************************************
int main()
{
    char tab[] = { "zdanie" };
    char nowa[ 5 ];
    kopia( tab, nowa );
    cout << tab << endl;
    cout << nowa;
}
//*************************************************************************************************************************
void kopia( char zrodlo[], char cel[] )
{
    int i = 0;
    while( zrodlo[ i ] = cel[ i ] )
    {
        i++;
    }
}



[/i]
P-129851
Brunon3
» 2015-04-01 21:36:12
C/C++
while( zrodlo[ i ] = cel[ i ] )
{
    i++;
}

Takie coś nie ma prawa zadziałać... Ja to się w ogóle skompilowało..?

-BD.
P-129853
pekfos
» 2015-04-01 21:38:33
Takie coś nie ma prawa zadziałać... Ja to się w ogóle skompilowało..?
Co z tym nie tak? Tylko przypisanie jest w złą stronę i tablica wynikowa jest za mała.
P-129854
Brunon3
» 2015-04-01 21:47:07
@up: No to C++ mnie zadziwia, ja dotąd myślałem że takie coś powinno wyglądać tak:

C/C++
for( int i = 0; i <= ilosc - 1; i++ ) // ilosc - nowa zmienna podawana jako argument do funkcji; nazwa mówi* sama za siebie
{
    zrodlo[ i ] = cel[ i ];
}

// *mówi - pisze :P

-BD.
P-129858
Olafson1999
Temat założony przez niniejszego użytkownika
» 2015-04-01 21:57:41
Dobra, w końcu się udało. Dzięki wielkie ;)
P-129859
« 1 »
  Strona 1 z 1