C语言实现输入多个字符串的方法有多种:使用二维字符数组、使用指针数组、使用动态内存分配。本文将详细介绍这些方法,并提供代码示例和注意事项。
一、二维字符数组
二维字符数组是一种简单且直观的方法。它使用一个二维数组来存储多个字符串,每个字符串占用一个数组行。
1.1 定义和初始化
首先,我们需要定义一个二维字符数组。假设我们要存储最多10个字符串,每个字符串的最大长度为50个字符:
char strings[10][50];
1.2 输入字符串
使用循环和scanf
函数逐行输入字符串:
#include <stdio.h>
int main() {
char strings[10][50];
int n, i;
printf("请输入字符串的数量(最多10个):");
scanf("%d", &n);
getchar(); // 清除换行符
printf("请输入每个字符串(每行一个):n");
for (i = 0; i < n; i++) {
fgets(strings[i], 50, stdin);
// 去掉换行符
strings[i][strcspn(strings[i], "n")] = '