怎么输入几行字符串C语言
时间: 2023-12-09 19:03:58 浏览: 33
在 C 语言中,可以使用字符数组来存储字符串。要输入几行字符串,可以使用循环结构和 scanf 函数来实现。以下是一个示例代码:
```
#include <stdio.h>
int main() {
char str[100];
int i;
printf("请输入几行字符串(以空行作为结束):\n");
for (i = 0; ; i++) {
scanf("%[^\n]", str); // 输入一行字符串,直到遇到换行符为止
getchar(); // 读取并丢弃换行符
if (str[0] == '\0') {
break; // 如果输入的是空行,则结束循环
}
printf("第 %d 行字符串:%s\n", i+1, str);
}
return 0;
}
```
在这个示例代码中,使用了一个无限循环来连续输入多行字符串。每次循环中,使用 scanf 函数读取一行字符串,直到遇到换行符为止。然后使用 getchar 函数读取并丢弃换行符,以便下一次循环能够从新的一行开始读取。如果输入的是空行,则结束循环。最后,输出每行输入的字符串。
相关问题
怎么从C语言读取几行字符串
要从文件中读取几行字符串,可以使用 C 语言的文件操作函数和字符串数组。下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
char str[3][20]; // 3行字符串,每行最多20个字符
FILE *fp;
fp = fopen("strings.txt", "r"); // 打开文件
if (fp == NULL) {
printf("文件打开失败!\n");
return 1;
}
for (int i = 0; i < 3; i++) {
fgets(str[i], 20, fp); // 读取一行字符串
}
fclose(fp); // 关闭文件
// 输出字符串
for (int i = 0; i < 3; i++) {
printf("%s", str[i]);
}
return 0;
}
```
上述代码从名为 `strings.txt` 的文件中读取三行字符串,并将其存储在二维字符数组 `str` 中。其中,`fopen` 函数用于打开文件,`fgets` 函数用于从文件中读取数据,`fclose` 函数用于关闭文件。在读取数据时,使用 `fgets` 函数来读取一行字符串,并指定每行最多读取的字符数和文件指针。在输出字符串时,直接使用 `%s` 格式化输出字符串即可。
C语言中一个二维字符串数组如何知道有几行
和每行的字符个数?
在C语言中,一个二维字符串数组的每行都是一个字符数组,每个字符数组都以'\0'结尾。我们可以通过遍历每行的字符数组,以'\0'作为结束标记来确定该行的字符数,并且通过遍历整个二维字符串数组,以'\0'结尾的字符数组的个数即为二维字符串数组的行数。具体实现可以参考下面的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char strArr[3][10] = {"hello", "world", "!"};
int row, col;
// 获取二维字符串数组的行数和每行的字符数
for (row = 0; row < 3; row++)
{
col = 0;
while (strArr[row][col] != '\0') // 以'\0'为结束标记
{
col++;
}
printf("第%d行有%d个字符\n", row+1, col);
}
printf("二维字符串数组有%d行\n", row);
return 0;
}
```
输出结果:
```
第1行有5个字符
第2行有5个字符
第3行有1个字符
二维字符串数组有3行
```