C语言如何用scanf直接输入字符串数组
时间: 2024-10-01 15:08:39 浏览: 39
在C语言中,如果你想通过`scanf`函数直接输入字符串到数组里,你需要明确指定数组的大小,并使用`[]`操作符来处理字符串。这里是一个简单的示例:
```c
#include <stdio.h>
#define MAX_STRINGS 5
// 定义一个字符数组作为字符串数组
char strings[MAX_STRINGS][50]; // 假设每个字符串最多50个字符
int main() {
int i;
printf("请输入 %d 个字符串:\n", MAX_STRINGS);
for (i = 0; i < MAX_STRINGS; i++) {
// 使用"%s"格式说明符,scanf会读取直到遇到空格或换行符为止
scanf("%s", strings[i]);
// 注意:scanf不会自动添加字符串结束符'\0',所以需要手动添加
if (strings[i][strlen(strings[i])] != '\0') { // 验证是否已输入'\0'
strings[i][strlen(strings[i])] = '\0'; // 添加结束符
}
}
// 打印输入的字符串数组
for (i = 0; i < MAX_STRINGS; i++) {
printf("String %d: %s\n", i + 1, strings[i]);
}
return 0;
}
阅读全文