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

[C] program wypisujacy slowo od tylu

Ostatnio zmodyfikowano 2014-08-03 13:14
Autor Wiadomość
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 ?
P-114970
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
P-114971
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 ?!
P-114972
unkn9wn
» 2014-08-03 12:44:54
scanf( "%c", & slowo );

wczytujesz tylko 1 znak, a przecież chcesz całą sekwencję znaków, czyli string (%s)
P-114974
poczben
Temat założony przez niniejszego użytkownika
» 2014-08-03 13:14:43
dzieki! o to wlasnie chodzilo, problem rozwiazany :)
P-114975
« 1 »
  Strona 1 z 1