用c语言编写自定义函数void tailAppend(char s1[],char s2[]),,其功能是将字符串s2接到字符串s1之后(不调用strcpy或strcat函数)。例如:若字符串s1为"abcd",字符串s2为:"1mn",将s2串接到s1之后,字符串s1为:"abcd1mn"的代码
时间: 2024-02-03 21:14:57 浏览: 80
下面是实现该功能的代码:
```c
void tailAppend(char s1[], char s2[]) {
int i = 0, j = 0;
while (s1[i] != '\0') { // 找到s1的末尾位置
i++;
}
while (s2[j] != '\0') { // 将s2接到s1的末尾
s1[i] = s2[j];
i++;
j++;
}
s1[i] = '\0'; // 添加末尾的'\0'字符
}
```
使用方法如下:
```c
int main() {
char s1[100] = "abcd";
char s2[100] = "1mn";
tailAppend(s1, s2);
printf("%s\n", s1); // 输出"abcd1mn"
return 0;
}
```
相关问题
用c语言编写自定义函数void tailAppend(char s1[],char s2[]),,其功能是将字符串s2接到字符串s1之后(不调用strcpy或strcat函数)
下面是一个用C语言编写的自定义函数`void tailAppend(char s1[], char s2[])`,可以将字符串s2接到字符串s1之后:
```c
#include <stdio.h>
void tailAppend(char s1[], char s2[]) {
int i, j;
for (i = 0; s1[i] != '\0'; i++) {} // 找到s1的结尾
for (j = 0; s2[j] != '\0'; j++) {
s1[i + j] = s2[j]; // 将s2中的字符一个个拷贝到s1的结尾后
}
s1[i + j] = '\0'; // 注意字符串结尾符号
}
int main() {
char s1[100] = "hello, ";
char s2[] = "world!";
tailAppend(s1, s2);
printf("%s\n", s1); // 输出 "hello, world!"
return 0;
}
```
这个函数的实现方法很简单,就是先找到s1的结尾,然后从s2的开头一个个拷贝字符到s1的结尾后,并在最后加上字符串结尾符'\0'。需要注意的是,s1数组必须要有足够的空间来存放新的字符串,否则可能会导致内存溢出等问题。
用c语言编写定义一个函数void fun(),函数的形参为字符数组S1和S2,函数功能是将字符串S1中的所有数字字符取出,存入另一字符数组S2中,使S2成为一个新的字符串,并在函数中将字符串S2输出
好的,以下是用 C 语言编写的函数 void fun() 的代码:
```c
#include <stdio.h>
#include <string.h>
void fun(char S1[], char S2[]) {
int i, j = 0;
for (i = 0; i < strlen(S1); i++) {
if (S1[i] >= '0' && S1[i] <= '9') { // 判断是否为数字字符
S2[j] = S1[i]; // 将数字字符存入 S2 中
j++;
}
}
S2[j] = '\0'; // 在 S2 末尾加上字符串结束标志
printf("%s\n", S2); // 输出 S2
}
```
这个函数的作用是将字符串 S1 中的所有数字字符取出,存入另一个字符数组 S2 中,并在函数中将字符串 S2 输出。我们可以在主函数中调用这个函数,例如:
```c
int main() {
char S1[] = "a1b2c3d4e5";
char S2[6];
fun(S1, S2); // 调用函数 fun
return 0;
}
```
这个例子中,S1 中包含了数字字符 "1"、"2"、"3"、"4"、"5",我们调用函数 fun 将这些数字字符取出并存入 S2 中,最后输出 S2,输出结果为 "12345"。
阅读全文