#include <stdio.h>
#include <string.h>
#include <unistd.h>
char *buffer;
size_t buffsize = 6;
size_t choice ;
void sumowanie()
{
double liczba1 , liczba2 , suma ;
scanf ("%le %le", &liczba1 , &liczba2);
suma = liczba1 + liczba2 ;
printf ("suma wynosi: %le\n" , suma );
}
void funkcja1()
{
sumowanie();
printf(" co wybierasz ?[y/n] :\n");
choice = getline (&buffer , &buffsize , stdin);
if (strncmp(buffer , "y", 1) == 0)
{
printf("y \n");
}
else
{
printf("n \n");
}
}
int main()
{
funkcja1();
}
Dlaczego w funkcji1 program pomija getline()? Wyczytałem, że w c++ też występuje podobny problem z powodu braku czyszczenia strumienia wejścia, ale czy w c w tym przypadku jest to ten sam problem? Jak tak to jak wyczyścić strumień wejścia w c?
PS. Proszę pominąć pytania o sens tego programu został on stworzony na potrzeby tego pytania.