Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

C โปรแกรมอ่านเขียนสตริงอักขระและประโยค


สมมติว่าคุณต้องการใช้อักขระ ตามด้วยสตริงและประโยค (สตริงที่มีช่องว่าง) โดยใช้ C ดังนั้นเราจะจัดเตรียมอินพุตสามตัวและพิมพ์เหมือนกับเอาต์พุต ขนาดสูงสุดของสตริงคือ 500 ที่นี่

ดังนั้นหากอินพุตเป็นแบบ

character = 'T'
string = "ProgrammingLanguage"
sentence = "I love programming through C",

แล้วผลลัพธ์ที่ได้จะเป็น

Your character: T
Your string: ProgrammingLanguage
Your sentence: I love programming through C

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับอักขระ เราต้องใช้ scanf("%c", &character);

  • สำหรับสตริง เราต้องใช้ scanf("%s", string);

  • ขั้นตอนนี้เป็นทางเลือก แต่จำเป็นในบางกรณี บางครั้งคุณอาจประสบปัญหาหนึ่ง บางครั้งโปรแกรมของคุณไม่รออินพุตถัดไป เราจึงต้องล้างบัฟเฟอร์โดยใช้ fflush(stdin)

  • และสำหรับสตริงที่มีช่องว่าง เราจำเป็นต้องใช้ฟังก์ชัน fgets() พารามิเตอร์แรกในที่นี้คือสตริง พารามิเตอร์ที่สองคือขนาด และพารามิเตอร์สุดท้ายคือ stdin เพื่อรับข้อมูลจากคอนโซล

  • ตัวสุดท้ายระบุว่าเราต้องการอักขระขึ้นบรรทัดใหม่หนึ่งตัวเพื่อระบุจุดสิ้นสุดของสตริง มิเช่นนั้นก็จะต้องใช้พื้นที่เช่นกัน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <stdio.h>
int main(){
    char character;
    char string[500];
    char sentence[500];
    scanf("%c", &character);
    scanf("%s", string);
    fflush(stdin);
    fgets(sentence, 500, stdin);
    printf("Your character: %c\n", character);
    printf("Your string: %s\n", string);
    printf("Your sentence: %s\n", sentence);
}

อินพุต

T
ProgrammingLanguage
I love programming through C

ผลลัพธ์

Your character: T
Your string: ProgrammingLanguage
Your sentence: I love programming through C