编写一个程序,使指针从标准输入读取一组字符串,并将他们逆序输出到标准输出上
时间: 2024-03-01 18:51:51 浏览: 27
好的,下面是C语言的程序实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[10][100]; //定义一个二维字符数组
int i = 0;
//从标准输入读取字符串,直到读取到空字符串
while (1) {
scanf("%s", str[i]);
if (strcmp(str[i], "") == 0) {
break;
}
i++;
}
//逆序输出字符串
for (int j = i - 1; j >= 0; j--) {
printf("%s\n", str[j]);
}
return 0;
}
```
在上面的程序中,我们使用了一个二维字符数组 `str` 来存储输入的字符串。然后我们从标准输入读取字符串,并使用 `strcmp` 函数判断是否读取到空字符串。最后,我们逆序输出存储在 `str` 数组中的字符串。
需要注意的是,在定义二维字符数组时,第一个维度表示数组的行数,第二个维度表示每个字符串的最大长度。在使用 `scanf` 函数读取字符串时,需要注意字符串缓冲区溢出的问题,可以使用 `%s` 格式化符指定读取的最大字符数。
相关问题
C语言编写程序,输入任意一个字符串,逆序输出。要求:使用指针和数组相结合实现。
好的,这是一个简单的 C 语言编程问题。以下是实现该功能的示例代码。
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main()
{
char str[MAX_LENGTH + 1];
char *p, *q;
int len;
printf("请输入字符串:");
fgets(str, MAX_LENGTH + 1, stdin);
len = strlen(str);
p = str;
q = str + len - 1;
while (p < q) {
char tmp = *p;
*p = *q;
*q = tmp;
p++;
q--;
}
printf("逆序输出字符串:%s", str);
return 0;
}
```
代码解释:
- 定义了一个字符数组 `str` 来存储输入的字符串,使用 `fgets` 函数读取字符串,保证输入字符串的安全性;
- 定义两个指针 `p` 和 `q`,分别指向字符串的首位和末位;
- 使用 `while` 循环将 `p` 和 `q` 指向的字符交换,并向中间移动,直到 `p` 和 `q` 相遇;
- 输出逆序后的字符串。
注意事项:
- 在定义字符数组时,需要预留一个额外的字节来存储字符串的结束符 `\0`;
- 输入的字符串可能包含回车符,需要在读取字符串后去掉;
- 在输出字符串时,不需要换行符。
输入一个字符串将其逆序输出c语言(用指针实现)
也可以使用指针来实现字符串的逆序输出,以下是一个例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int len = strlen(str);
char *p = str + len - 1;
while (p >= str) {
printf("%c", *p);
p--;
}
return 0;
}
```
首先,我们定义一个字符数组 `str` 存储输入的字符串,并使用 `scanf` 函数读取用户输入的字符串。然后,使用 `strlen` 函数获取字符串的长度,定义一个指针 `p` 指向字符串末尾的字符。接着,使用循环遍历指针 `p`,逐个输出字符,直到指针 `p` 指向字符串头部为止。最后,返回0表示程序正常结束。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)