Nieoczekiwania wartość w zmiennej char (język C)
Ostatnio zmodyfikowano 2015-01-16 20:05
Nitr0Skay Temat założony przez niniejszego użytkownika |
Nieoczekiwania wartość w zmiennej char (język C) » 2015-01-16 19:52:05 Witam. Piszę pewien program i już na samym początku mam problem. Może pokażę Wam swój kod i w czym jest rzecz: #include <conio.h> #include <stdio.h>
void przywitajStosownie( char * plec );
int main() { system( "chcp 1250" ); system( "cls" ); char plec; przywitajStosownie( & plec ); printf( "%c", plec ); return 0; }
void przywitajStosownie( char * plec ) { printf( "Witam w prototypie mojej bazy danych.\n" ); printf( "Jest to prosta Baza pracowników. Może na początku podasz mi swoją płeć, abym mógł precyzyjniej się do Ciebie zwracać.\n" ); printf( "Jest Pan lub Pani Mężczyzną (M), czy Kobietą (K) ? " ); scanf( "%c", & plec ); }
Napisane w Dev-C++ 5.8.3 I oto co pojawiło się w zmiennej plec po przypisaniu wartości: http://i.imgur.com/jOej4cV.png Jakiś dziwny znaczek, który nie wiadomo skąd się pojawił. Ktoś może wie, w czym rzecz ? Byłbym wdzięczny za pomoc. |
|
pekfos |
» 2015-01-16 19:53:25 |
|
Nitr0Skay Temat założony przez niniejszego użytkownika |
» 2015-01-16 19:56:11 Działa, dzięki. Ale możesz napisać, dlaczego bez Ampressandu tym razem ?? Zazwyczaj jest on wymagany w funkcji scanf() |
|
pekfos |
» 2015-01-16 19:58:02 scanf() wymaga wskaźnika, a nie ampersandu. Nie pisz schematami. |
|
Nitr0Skay Temat założony przez niniejszego użytkownika |
» 2015-01-16 20:02:58 A, czyli rozumiem, że wskaźnik został podany jako argument do tejże funkcji, dlatego tenże ampressand nie był w tym przypadku wymagany. Dobrze to rozumiem ? |
|
pekfos |
» 2015-01-16 20:04:10 tak |
|
Nitr0Skay Temat założony przez niniejszego użytkownika |
» 2015-01-16 20:05:48 Rozumiem. Dziękuję za pomoc :) Miłego dnia życzę |
|
« 1 » |