如何用c语言中的scanf函数将输入字符串储存在字符数组中
时间: 2023-06-17 22:04:28 浏览: 506
使用scanf函数可以读取用户输入的字符串,并将其存储到一个字符数组中。以下是一个示例代码:
```
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
printf("输入的字符串是:%s\n", str);
return 0;
}
```
在这个示例中,我们定义了一个名为`str`的字符数组,大小为100。然后使用`scanf`函数读取用户输入的字符串,`%s`表示读取字符串,将其存储到字符数组`str`中。最后,我们使用`printf`函数输出读取到的字符串。注意,在使用`scanf`函数时,我们没有使用`&`符号来获取字符数组的地址,这是因为字符数组名本身就表示该数组的首地址。
相关问题
C语言如何用scanf直接输入字符串数组
在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;
}
c语言scanf输入二维字符串数组
在C语言中,可以使用scanf函数来输入二维字符串数组。下面是两种方法:
方法一:使用循环输入一维字符串的方式赋值二维数组
```c
#include <stdio.h>
int main() {
int i, j;
char a[10][10];
for (i = 0; i < 3; i++) {
scanf("%s", a[i]);
}
return 0;
}
```
方法二:使用指针来输入二维字符串数组
```c
#include <stdio.h>
int main() {
int i;
char a[10][10];
char *p = a[0]; // 定义一个指针指向数组,p+i就指向二维数组的第i行
for (i = 0; i < 10; i++) {
scanf("%s", p + i);
}
return 0;
}
```
阅读全文