如何用c语言中的scanf函数将输入字符串储存在字符数组中
时间: 2023-06-17 21:04:28 浏览: 201
使用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`函数时,我们没有使用`&`符号来获取字符数组的地址,这是因为字符数组名本身就表示该数组的首地址。
相关问题
使用scanf函数逐个输入字符保存在字符数组中
好的,以下是C语言代码实现:
```
#include <stdio.h>
int main() {
char str[100];
int i = 0;
printf("请输入一个字符串:");
while(scanf("%c", &str[i]) != EOF && str[i] != '\n' && i < 99) {
i++;
}
str[i] = '\0';
printf("输入的字符串为:%s", str);
return 0;
}
```
这段代码中,我们使用了`scanf()`函数逐个输入字符,并将其保存在字符数组`str`中。我们使用了循环,当输入的字符不是EOF(文件结束符)或换行符`\n`,同时字符数组未满时,将字符保存在字符数组中,同时`i`自增1。最后,我们在字符数组的最后一个位置加上字符串结束符`\0`,以便使用`printf()`函数输出字符数组中的字符串。
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;
}
```