用C语言来设计,不用fgets用 gets 函数输入字将字符串s1和字符串s2,要求将s2字符串反向连接到s1字符串末端组成一个新字符串s1,使用 puts 输出字符串s1。要求用指针书写程序
时间: 2024-02-18 17:59:23 浏览: 75
好的,我来回答你的问题。
首先,我们需要用指针来定义字符串s1和s2,代码如下:
```c
char *s1, *s2;
```
然后,我们使用`gets`函数来输入字符串s1和s2,代码如下:
```c
printf("请输入字符串s1:");
gets(s1);
printf("请输入字符串s2:");
gets(s2);
```
接下来,我们需要找到字符串s1的末尾,代码如下:
```c
while (*s1 != '\0') {
s1++;
}
```
然后,我们反向连接字符串s2到s1的末尾,代码如下:
```c
while (*s2 != '\0') {
*s1 = *s2;
s1++;
s2++;
}
```
最后,我们在新的字符串s1末尾添加一个空字符,表示字符串的结束,代码如下:
```c
*s1 = '\0';
```
最后,我们使用`puts`函数输出字符串s1,代码如下:
```c
puts(s1);
```
完整的代码示例如下:
```c
#include <stdio.h>
int main() {
char *s1, *s2;
printf("请输入字符串s1:");
gets(s1);
printf("请输入字符串s2:");
gets(s2);
while (*s1 != '\0') {
s1++;
}
while (*s2 != '\0') {
*s1 = *s2;
s1++;
s2++;
}
*s1 = '\0';
puts(s1);
return 0;
}
```
注意,使用`gets`函数存在安全隐患,建议使用更安全的函数`fgets`来输入字符串。
阅读全文