[C] program wypisujacy slowo od tylu
Ostatnio zmodyfikowano 2014-08-03 13:14
poczben Temat założony przez niniejszego użytkownika |
[C] program wypisujacy slowo od tylu » 2014-08-03 12:09:42 Chcialem napisac prosty program w C, wypisujacy podane przez uzytkownika slowo od tylu. W C++, w ktorym troche lepiej sie czuje, poszlo bez problemu, moze nie wyglada to najlepiej ale slowo zostaje wypisane: #include <iostream> using namespace std; int main() { char slowo[15]; cout << "Podaj slowo do wypisania od tylu:\n"; cin >> slowo; for(int i=15; i>=0; i--) { cout << slowo[i]; } }
Natomiast w C przy analogicznym kodzie wypisuje sie tylko jedna litera slowa: #include <stdio.h> int main() { int i; char slowo[15]; puts("Podaj slowo, ktore ma zostac wypisane od tylu: "); scanf("%c", &slowo); for(i=15; i>=0; i--) { printf("%c", slowo[i]); } }
Co nalezy zmienic ? |
|
unkn9wn |
» 2014-08-03 12:21:50 main() nic nie zwraca
wczytujesz tylko char (%c) czyli 1 znak. Powinieneś chyba wczytywać string, %s
zadeklarowana tablica char 15 elementowa posiada elementy od 0 do 14, a dla iteratora dajesz wartość od 15 |
|
poczben Temat założony przez niniejszego użytkownika |
» 2014-08-03 12:40:18 ten kod wyzej (C++) zwraca wyraz wypisany od tylu, ten kod nizej (C) nie zwraca, mimo ze jest analogiczny, zmiana iteratora na 14 niestety nic nie zmienia a typ char bedzie chyba odpowiedni, skoro dla C++ dziala ?! |
|
unkn9wn |
» 2014-08-03 12:44:54 scanf( "%c", & slowo ); wczytujesz tylko 1 znak, a przecież chcesz całą sekwencję znaków, czyli string (%s) |
|
poczben Temat założony przez niniejszego użytkownika |
» 2014-08-03 13:14:43 dzieki! o to wlasnie chodzilo, problem rozwiazany :) |
|
« 1 » |