scanf不定输入字符串数组c语言
时间: 2024-11-23 19:07:15 浏览: 17
C语言复习习题及答案资料.ppt
在C语言中,`scanf`函数通常用于从标准输入(通常是键盘)读取数据,但它本身并不直接支持不定长的字符串数组输入。如果你想通过`scanf`接收用户输入并存储在一个字符串数组里,你需要事先知道数组的最大长度,并用循环来控制输入。
例如,如果你有一个大小固定的字符串数组`strArray`,你可以这样做:
```c
#include <stdio.h>
#define MAX_STRINGS 5
char strArray[MAX_STRINGS][50]; // 假设每个字符串最多49字符加上终止符'\0'
int main() {
int i;
for (i = 0; i < MAX_STRINGS; i++) {
printf("请输入第 %d 个字符串: ", i + 1);
if (fgets(strArray[i], sizeof(strArray[i]), stdin) != NULL) { // fgets包括了终止符'\n'
strArray[i][strcspn(strArray[i], "\n")] = '\0'; // 清除换行符
} else {
printf("输入失败!\n");
return 1;
}
}
// 现在数组strArray已经包含了用户的输入
// ...
阅读全文