Funkcja to zestaw instrukcji do wykonania określonego zadania. Bez pisania wszystkich instrukcji w tym samym programie można go podzielić na wiele funkcji. Podczas programowania użytkownik może zdefiniować własne funkcje. Istnieją również funkcje zapewniane przez języki programowania. Język C zapewnia wiele funkcji, dzięki czemu programiści mogą z nich korzystać bezpośrednio, bez ich implementacji od samego początku. Dwie takie funkcje oferowane przez język C to scanf i get. W tym artykule omówiono różnicę między tymi dwiema funkcjami. The kluczowa różnica to między scanf a get scanf kończy przyjmowanie danych wejściowych po napotkaniu spacji, nowej linii lub końca pliku (EOF), podczas gdy pobiera białą spację jako część ciągu wejściowego i kończy wprowadzanie danych po napotkaniu nowej linii lub EOF.
1. Przegląd i kluczowa różnica
2. Co to jest scanf
3. Co dostaje
4. Podobieństwa między skanowaniem a pobieraniem
5. Porównanie obok siebie - scanf vs dostaje się w formie tabeli
6. Podsumowanie
Funkcja scanf może odczytywać dane wejściowe z klawiatury i zapisuje je zgodnie z określonym specyfikatorem formatu. Odczytuje dane wejściowe do napotkania białych znaków, nowej linii lub EOF. Składnia jest następująca.
scanf („ciąg formatu”, lista adresów zmiennych);
Zapoznaj się z przykładem podanym poniżej, aby zrozumieć scanf.
Rysunek 01: scanf z jednym wejściem
Zgodnie z powyższym programem wejście pobierane z klawiatury jest liczbą całkowitą, więc specyfikatorem formatu jest% d. Jeśli pobiera wartość znaku, specyfikatorem formatu jest% c. W przypadku uzyskania wartości zmiennoprzecinkowej specyfikatorem formatu jest% f. Otrzymaną wartość wejściową należy zapisać w zmiennej liczbowej. Dlatego adres zmiennej numer jest przekazywany do funkcji scanf. Teraz zmienna liczbowa zawiera wartość podaną przez użytkownika z klawiatury. Na koniec możemy wydrukować zmienną liczbową, aby sprawdzić wartość.
Możliwe jest również otrzymywanie więcej niż jednej wartości na raz.
Rysunek 02: scanf z wieloma wejściami
Otrzymane dane wejściowe są przechowywane w zmiennej numer1 i numer2. Wartości można sprawdzić za pomocą printf.
Funkcja gets służy do odbierania danych z klawiatury aż do napotkania nowej linii lub EOF. Biały znak jest uważany za część danych wejściowych. Składnia funkcji gets jest następująca.
gets („gdzie przechowywać ciąg”);
Jeśli wystąpi błąd podczas odbierania ciągu, funkcja gets zwróci wartość zerową.
Zobacz poniższy przykład,
Rysunek 03: dostaje
Dane wejściowe są odbierane przez funkcję gets i przechowywane w zmiennej word1. Jeśli programista użyje scanf zamiast get i wprowadzi ciąg taki jak „hello world”, scanf odczyta ciąg jako dwa ciągi ze względu na spację. Ale get odczyta to jako jeden ciąg „witaj świecie”.
scanf vs dostaje | |
scanf to funkcja C służąca do odczytu danych wejściowych ze standardowego wejścia, aż do napotkania białych znaków, znaków nowej linii lub EOF. | gets to funkcja C służąca do odczytu danych wejściowych ze standardowego wejścia, dopóki nie napotka nowego wiersza lub EOF. Uwzględnia białe znaki jako część danych wejściowych. |
Składnia | |
Funkcja scanf pobiera ciąg formatu i listę adresów zmiennych. na przykład scanf („% d” i numer); | Funkcja gets pobiera nazwę zmiennej do przechowywania otrzymanej wartości. Na przykład. dostaje (nazwa); |
Elastyczność | |
scanf może odczytać wiele wartości różnych typów danych. | Funkcja gets () pobiera tylko dane ciągów znaków. |
scanf i get są funkcjami zapewnianymi przez język programowania C. Użytkownik nie musi implementować tych funkcji od samego początku. Mogą bezpośrednio używać ich w swoich programach. Różnica między scanf a get polega na tym, że scanf kończy przyjmowanie danych wejściowych po napotkaniu spacji, nowej linii lub końca pliku (EOF) i pobiera białą spację jako część ciągu wejściowego i kończy wejście po napotkaniu nowej linii lub EOF. Korzystanie z scanf lub gets zależy od sposobu, w jaki użytkownik otrzymuje dane ze standardowego wejścia, którym jest klawiatura najczęściej. scanf jest bardziej elastyczny niż dostaje.
Możesz pobrać wersję PDF tego artykułu i używać go do celów offline zgodnie z cytatem. Pobierz wersję PDF tutaj Różnica między scanf a get
1.LearningLad., „Funkcja Scanf () w samouczkach języka programowania C” YouTube, YouTube, 23 kwietnia 2013 r. Dostępne tutaj
2.LearningLad, „gets () String Input Function in C Programming Language Video Tutorial”, YouTube, YouTube, 6 maja 2013 r. Dostępne tutaj