在C语言中,可以使用for
循环结合用户输入来打印多个字符串。以下是一个示例代码,展示了如何实现这一功能:
#include <stdio.h>
#include <string.h>
int main() {
int numStrings;
printf("请输入要打印的字符串数量: ");
scanf("%d", &numStrings);
char strings[numStrings][100]; // 假设每个字符串最长为99个字符
// 获取用户输入的字符串
for (int i = 0; i < numStrings; i++) {
printf("请输入第 %d 个字符串: ", i + 1);
scanf("%99s", strings[i]); // 防止缓冲区溢出
}
// 打印用户输入的字符串
printf("\n您输入的字符串是:\n");
for (int i = 0; i < numStrings; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
numStrings
中。for
循环逐个获取用户输入的字符串,并存储在数组中。%99s
用于防止缓冲区溢出。for
循环打印出用户输入的所有字符串。scanf
时,如果不限制输入长度,可能会导致缓冲区溢出。解决方法是使用%99s
来限制输入长度。scanf
会失败。可以通过检查scanf
的返回值来处理这种情况。if (scanf("%d", &numStrings) != 1) {
printf("输入错误,请输入一个整数。\n");
return 1;
}
通过这种方式,可以确保程序在遇到无效输入时能够正确处理并给出提示。
领取专属 10元无门槛券
手把手带您无忧上云