C言語で文字列を入力する方法は何ですか?

C言語では、文字列を次の方法で入力することができます:

  1. 文字配列を使用すると、十分な大きさの文字配列を宣言して文字列を保存し、その後scanf関数やgets関数を使って標準入力から文字列を読み込むことができます。例えば:
#include <stdio.h>

int main() {
    char str[100]; // 声明一个字符数组,大小为100
    printf("请输入字符串:");
    scanf("%s", str); // 使用scanf函数读取字符串
    printf("输入的字符串是:%s\n", str);
    return 0;
}
  1. ポインタを使用すると、ポインタ変数を宣言し、malloc関数を使って一定サイズのメモリ領域を割り当て、その後scanf関数やgets関数を使用して標準入力から文字列を読み込むことができます。例:
#include <stdio.h>
#include <stdlib.h>

int main() {
    char *str; // 声明一个指针变量
    str = (char *)malloc(100 * sizeof(char)); // 分配100个字符大小的内存空间
    printf("请输入字符串:");
    gets(str); // 使用gets函数读取字符串
    printf("输入的字符串是:%s\n", str);
    free(str); // 释放内存空间
    return 0;
}

gets関数を使用する際は、割り当てられたメモリ空間が十分に大きいか確認して、オーバーフローを避けることが重要です。また、gets関数は既に安全とされていないため、より安全なfgets関数を使用することをお勧めします。

bannerAds