problem miedzy scanf a cin ???

0

Witam,
Mój problem przedstawiam poniżej:

Kod w C++:

#include<iostream> 

using std::cout;
using std::cin;


int main()
{ 
    int liczba1, liczba2, wynik;
    char znak; 
    
    
    do{
         cin>> znak>> liczba1 >> liczba2; 
         cout << znak << ' ' << liczba1 << ' ' << liczba2; 
          
         }
         while(znak!=0);
                        
                        
         
         
         return 0; 
    } 

Przykładowe działanie:
z 1 2 //wpisuje znak i dwie liczby
z 1 2 // otrzymuję to samo
z 2 3 // i ponownie wpisuje
z 2 3 // i otrzymuje

Kod w języku C:

#include<stdio.h> 

int main()
{ 
    int liczba1, liczba2, wynik;
    char znak; 
    
    
    do{
         scanf("%c %d %d", &znak, &liczba1, &liczba2); 
         printf("%c %d %d", znak, liczba1, liczba2); 
         
         
          
         }
         while(znak!=0);
                        
         return 0; 
    } 

Przykładowe działanie:
z 1 2 // Jak poprzednio
z 1 2 // otrzymuje również to samo
z 2 3 // ponownie wpisuje
/* i otrzymuje
1 2z 2 3 takie cos */

Chciałbym się dowiedzieć co jest nie tak. Dlaczego w C++ wszystko gra natomiast w C nie. Co może być przyczyną ?

0
      scanf(" %c %d %d", &znak, &liczba1, &liczba2);
      printf("%c %d %d\n", znak, liczba1, liczba2);

białe znaki :) dokładniej znak przejścia do nowej linii, scanf przez to źle działał bo zakańczał pobieranie znaku na \n

0

Dzięki wielkie :)

Pozdro

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