Wątek przeniesiony 2017-10-25 16:29 z C/C++ przez Patryk27.

Przypisanie wartości do zmiennej po getchar

0

Witam, mam zagwozdkę w C, zawsze kodowałem w c++.
a mianowicie:

 #include <stdio.h>

 int main(void)
 {
   int c;
   int b;
   while ((c = getchar())!=EOF)
   {

     putchar(c);
   }
   return 0;
 }

W tym fragmencie kodu w pętli while wczytujemy getcharem jakieś znaki do c. chciałbym wczytane znaki przypisać do zmiennej b, na przykład b=c, ale nie wychodzi. Jak to zrobić?

EDIT:
Może napiszę co chce zrobić. Chce w zmiennej b zapisać wartość c=getchar(), aby w kolejnym obrocie pętli while móc porównać czy b jest równe nowemu wczytanemu c. Czyli porównać czy wyrażenie c jest takie samo jak jeden obrót pętli wcześniej. Dlatego chcę w zmiennej b zapisać c a następnie porównać.

 #include <stdio.h>

 int main(void)
 {
   int c;
   int b;
   int i=0;
   while ((c = getchar())!=EOF)
   {
       if(i==0)
       {
           b=c;
           i++;
           putchar(c);
       }
       else
       {
           if(b==c)
           {
               printf("wyrazenie powtorzylo sie");
               b=c;
           }
           else
           {
               putchar(c);
               b=c;
           }
       }

   }
   return 0;
 }

chciałbym zrobić coś takiego jak wyżej, tylko wiem że jest źle. Poprawi mnie ktoś albo pokaże błędy? :)

0

W sensie co jest nie tak z b=c;?

0

Może napiszę co chce zrobić. Chce w zmiennej b zapisać wartość c=getchar(), aby w kolejnym obrocie pętli while móc porównać czy b jest równe nowemu wczytanemu c. Czyli porównać czy wyrażenie c jest takie samo jak jeden obrót pętli wcześniej. Dlatego chcę w zmiennej b zapisać c a następnie porównać.

 #include <stdio.h>

 int main(void)
 {
   int c;
   int b;
   int i=0;
   while ((c = getchar())!=EOF)
   {
       if(i==0)
       {
           b=c;
           i++;
           putchar(c);
       }
       else
       {
           if(b==c)
           {
               printf("wyrazenie powtorzylo sie");
               b=c;
           }
           else
           {
               putchar(c);
               b=c;
           }
       }


   }
   return 0;
 }


chciałbym zrobić coś takiego jak wyżej, tylko wiem że jest źle. Poprawi mnie ktoś albo pokaże błędy? :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1