Wie gebe ich ein Array in C-Sprache ein?

little bottle
Freigeben: 2022-01-12 15:18:56
Original
104543 Leute haben es durchsucht

Wie gebe ich ein Array in C-Sprache ein?

In der Sprache C gibt es zwei Funktionen, mit denen Benutzer Array-Daten über die Tastatur eingeben können: gets() und scanf(). scanf() gibt einen Array-String über das Formatsteuerzeichen %s ein. Zusätzlich zu Strings kann gets() auch einen Array-String direkt eingeben und nur Strings eingeben.

Es gibt jedoch einen Unterschied zwischen scanf() und gets().

scanf() Beim Lesen einer Zeichenfolge wird diese durch Leerzeichen getrennt. Wenn ein Leerzeichen auftritt, wird die aktuelle Zeichenfolge als beendet betrachtet, sodass Zeichenfolgen, die Leerzeichen enthalten, nicht gelesen werden können.

gets() betrachtet Leerzeichen als Teil der Zeichenfolge. Die Eingabe der Zeichenfolge gilt erst dann als beendet, wenn die Eingabetaste gedrückt wird Wird die Taste nicht gedrückt, ist gets() ein vollständiger String. Mit anderen Worten: gets() wird verwendet, um eine ganze Zeichenfolgezeile zu lesen.
Zum Beispiel:

#include <stdio.h>
int main(){
char str1[30] = {0};
char str2[30] = {0};
char str3[30] = {0};
//gets() 用法
printf("Input a string: ");
gets(str1);
//scanf() 用法
printf("Input a string: ");
scanf("%s", str2);
scanf("%s", str3);
//分别输出
printf("\nstr1: %s\n", str1);
printf("str2: %s\n", str2);
printf("str3: %s\n", str3);
return 0;
}
Nach dem Login kopieren

Laufergebnis:

Input a string: C C++ Java Python
Input a string: PHP JavaScript
str1: C C++ Java Python
str2: PHP
str3: JavaScript
Nach dem Login kopieren

Die erste Eingabezeichenfolge wird vollständig von gets() gelesen und in str1 gespeichert. Die erste Hälfte der zweiten Eingabezeichenfolge wird vom ersten scanf() gelesen und in str2 gespeichert, und die zweite Hälfte wird vom zweiten scanf() gelesen und in str3 gespeichert.
Beachten Sie, dass scanf() beim Lesen von Daten die Adresse der Daten benötigt. Diese ist konstant, daher müssen Sie bei Variablen vom Typ int, char, float und anderen Typen & hinzufügen, um deren Adressen zu erhalten. Aber in diesem Code haben wir nur den Namen der Zeichenfolge angegeben, aber kein & vorangestellt. Warum ist das so? Da String-Namen oder Array-Namen im Allgemeinen bei der Verwendung in Adressen umgewandelt werden, ist das Hinzufügen von & unnötig und kann sogar zu Fehlern führen.
Nach dem bisher erlernten Wissen muss int, char, float und anderen Arten von Variablen bei Verwendung in scanf() ein & vorangestellt werden, während Arrays oder Strings bei Verwendung nicht vorangestellt werden müssen in scanf() selbst wird in eine Adresse umgewandelt. Leser müssen dies im Hinterkopf behalten.
Was die Details der Konvertierung von Array-Namen (String-Namen) und Adressen betrifft und wann Array-Namen in Adressen konvertiert werden.

Das obige ist der detaillierte Inhalt vonWie gebe ich ein Array in C-Sprache ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!