用指针作为函数的形式参数,编写字符串复制函数。 **输入格式要求:"%s" 提示信息:"Enter String:" **输出格式要求:"a=%s\nb=%s\n" 程序运行示例如下: Enter String:happy a=happy b=happy
时间: 2024-02-15 20:03:00 浏览: 86
以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void copy_string(char *a, char *b);
int main()
{
char a[100], b[100];
printf("Enter String:");
scanf("%s", a);
copy_string(a, b);
printf("a=%s\nb=%s\n", a, b);
return 0;
}
void copy_string(char *a, char *b)
{
while (*a != '\0')
{
*b = *a;
a++;
b++;
}
*b = '\0';
}
```
函数 `copy_string` 接受两个指针参数 `a` 和 `b`,分别指向需要复制的字符串和目标字符串。函数使用 while 循环逐个字符复制,直到遇到字符串结束符号 `\0`,然后在目标字符串结尾处添加结束符号。
在 `main` 函数中,先输入需要复制的字符串 `a`,然后调用 `copy_string` 函数,将其复制到 `b` 中。最后输出 `a` 和 `b` 的值。
相关问题
编写函数,通过指针求字符串的长度。 **输入格式要求:"%s" 提示信息:"Enter string:" **输出格式要求:"string length=%d\n" 程序运行示例如下: Enter string:nihao string length=5
下面是一个实现的示例代码:
```c
#include <stdio.h>
// 函数原型
int strLength(char *str);
int main()
{
char str[100];
printf("Enter string:");
scanf("%s", str);
int len = strLength(str);
printf("string length=%d\n", len);
return 0;
}
int strLength(char *str)
{
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
```
该函数的实现非常简单,使用一个 while 循环来遍历字符串,每遍历一个字符,就将长度加一,直到遍历到字符串的结尾(即遇到 '\0')。需要注意的是,这里使用了指针来遍历字符串,因为字符串本身就是一个字符数组,可以直接用指针来访问。
编写函数,通过指针求字符串的长度。 **输入格式要求:"%s" 提示信息:"enter string:" **输出格式要求:"string length=%d\n" 程序运行示例如下: enter string:nihao string length=5
这道题目要求我们编写一个函数,通过指针求得字符串的长度。输入格式要求为 "%s",输出格式要求为 "string length=%d\n"。
在程序运行示例中,输入 "nihao",输出 "string length=5\n"。
具体实现可以使用循环迭代,通过指针一个个遍历字符,并记录遍历的次数,最后输出即可。
阅读全文