C語言%s意思

在C語言中,%s是一個格式字元串(format string)的特殊字元序列,用於指示輸出操作應該將字元串(string)數據寫入到指定的位置。這裡的%符號表示一個格式化指示符,而s則表示字元串(string)。

當你使用像printfscanf這樣的格式化輸入/輸出函數時,你可以使用%s來讀取或輸出字元串。例如:

#include <stdio.h>

int main() {
    char name[] = "John Doe";

    // 使用%s輸出字元串
    printf("Your name is: %s\n", name);

    // 使用%s讀取字元串
    char input[100];
    printf("Please enter your name: ");
    scanf("%s", input);
    printf("You entered: %s\n", input);

    return 0;
}

在上面的例子中,printf的格式字元串"%s"告訴程式從name變量中輸出字元串,而scanf的格式字元串"%s"則告訴程式從鍵盤輸入中讀取字元串並存放到input陣列中。

需要注意的是,%s格式化指示符會繼續讀取字元直到遇到一個空白字元(空格、制表符或換行符),所以輸入時請確保字元串之間沒有額外的空白字元。此外,用於讀取字元串的陣列必須足夠大,以容納可能輸入的字元串,否則會導致 buffer overflow(緩衝區溢出)。