在C语言中实现多个字符串的输入,你可以使用scanf
、gets
、fgets
等函数。下面是一个示例程序,演示如何读取多个字符串并输出它们。
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
#define MAX_STR_COUNT 10
int main() {
char strings[MAX_STR_COUNT][MAX_STR_LEN];
int i, count;
printf("请输入字符串的数量(最多 %d 个):", MAX_STR_COUNT);
scanf("%d", &count);
// 清空输入缓冲区
while (getchar() != 'n');
for (i = 0; i < count; i++) {
printf("请输入第 %d 个字符串:", i + 1);
fgets(strings[i], MAX_STR_LEN, stdin);
// 移除换行符
strings[i][strcspn(strings[i], "n")] = '';
}
printf("n您输入的字符串是:n");
for (i = 0; i < count; i++) {
printf("%d: %sn", i + 1, strings[i]);
}
return 0;
}
这个程序使用以下步骤实现多个字符串的输入和输出:
- 定义一个二维数组
strings
来存储多个字符串,每个字符串的最大长度为MAX_STR_LEN
,字符串的最大数量为MAX_STR_COUNT
。 - 提示用户输入字符串的数量,并读取该数量。
- 使用一个循环来读取每个字符串。使用
fgets
函数读取字符串,fgets
比gets
更安全,因为它会检查数组的边界。 - 使用
strcspn
函数移除每个字符串末尾的换行符。 - 最后,输出用户输入的所有字符串。
请注意,在使用scanf
函数读取整数后,我们清空了输入缓冲区以避免后续的fgets
读取到残留的换行符。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/191148.html