c语言怎么输入字符串
时间: 2023-06-22 21:30:49 浏览: 53
在C语言中,输入字符串可以通过以下两种方式:
1. 使用字符数组
```
#include <stdio.h>
#define MAX_SIZE 100
int main() {
char str[MAX_SIZE];
printf("Enter a string: ");
scanf("%s", str);
printf("You entered: %s", str);
return 0;
}
```
在上面的代码中,我们使用字符数组来存储输入的字符串,使用scanf()函数来读取输入的字符串。
2. 使用指针
```
#include <stdio.h>
#define MAX_SIZE 100
int main() {
char str[MAX_SIZE], *p;
printf("Enter a string: ");
scanf("%s", str);
p = str;
printf("You entered: ");
while (*p != '\0') {
printf("%c", *p);
p++;
}
return 0;
}
```
在上面的代码中,我们同样使用scanf()函数来读取输入的字符串,但是我们使用指针来遍历字符串并输出每个字符。
相关问题
c语言输入字符串方法
在C语言中,可以使用`scanf()`函数或者`fgets()`函数来输入字符串。
`scanf()`函数的格式为:
```
scanf("%s", str);
```
其中,`%s`表示输入的是字符串类型,`str`表示字符串变量名。
需要注意的是,使用`scanf()`函数输入字符串时,如果输入的字符串中包含空格,则会停止读取空格后面的内容。
另外,使用`scanf()`函数时,要避免缓冲区溢出的问题,可以在读取字符串之前先指定最大长度,如:
```
char str[100];
scanf("%99s", str); //最多读取99个字符
```
`fgets()`函数的格式为:
```
fgets(str, sizeof(str), stdin);
```
其中,`str`表示字符串变量名,`sizeof(str)`表示该字符串变量的最大长度,`stdin`表示从标准输入中读取字符串。
需要注意的是,使用`fgets()`函数输入字符串时,它会读取换行符`\n`,所以我们需要将其替换为`\0`来结束字符串。
```
char str[100];
fgets(str, sizeof(str), stdin);
str[strlen(str) - 1] = '\0'; //替换换行符为结束符
```
c语言输入字符串数组
在C语言中,可以通过以下方式输入字符串数组:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
char strArray[MAX_SIZE][MAX_SIZE];
int numStrings;
printf("请输入字符串数组的大小:");
scanf("%d", &numStrings);
// 输入字符串数组的元素
printf("请输入字符串数组的元素:\n");
for (int i = 0; i < numStrings; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", strArray[i]);
}
// 打印输入的字符串数组
printf("\n输入的字符串数组为:\n");
for (int i = 0; i < numStrings; i++) {
printf("%s\n", strArray[i]);
}
return 0;
}
```
在这个示例中,我们首先定义了一个二维字符数组 `strArray`,用于存储字符串。`MAX_SIZE` 定义了字符数组的最大大小,你可以根据需要修改它。
然后,通过 `scanf` 函数获取用户输入的字符串数组的大小 `numStrings`。接下来,使用一个循环来逐个输入字符串数组的元素。
最后,通过另一个循环打印出用户输入的字符串数组。
请注意,在使用 `scanf` 输入字符串时,使用 `%s` 格式化字符。这个格式化字符会读取一个没有空格的字符串,以空格或换行符作为结束标志。
希望这个示例能够帮助你输入字符串数组!如有疑问,请随时提问。