//下面程序的功能是将两个字符串s1和s2连接起来。请填空。 #include<stdio.h> char *conj(char *p1,char *p2) { char *p=p1; while(*p1) ______; while(*p2) { *p1=______; p1++; p2++; } ______ return p; } main() { char s1[80],s2[80]; gets(s1); gets(s2); conj(s1,s2); puts(s1); }
时间: 2024-02-14 18:29:42 浏览: 166
下面是填空后的程序:
```c
#include<stdio.h>
char *conj(char *p1, char *p2)
{
char *p = p1;
while (*p1)
p1++;
while (*p2)
{
*p1 = *p2;
p1++;
p2++;
}
*p1 = '\0';
return p;
}
int main()
{
char s1[80], s2[80];
gets(s1);
gets(s2);
conj(s1, s2);
puts(s1);
return 0;
}
```
在这个程序中,我们使用两个指针 `p1` 和 `p2` 分别指向字符串 `s1` 和 `s2` 的起始位置。首先,我们将指针 `p` 指向 `s1`,然后使用 `while` 循环找到 `s1` 的末尾位置。接下来,我们使用另一个 `while` 循环将 `s2` 中的字符逐个复制到 `s1` 的末尾,直到遇到字符串结束符。最后,我们在 `s1` 的末尾添加字符串结束符 `\0` 并返回指针 `p`。
这样,程序将会将两个字符串连接起来,并输出结果。
相关问题
1. 编一个函数,将字符串s2连接到s1后面,不用strcat函数。(请填空)#include <stdio. h> #include <string. h> void mainO ( char s1[80], s2[40]; int i=0, j=0; gets(s1) ; gets(s2) ; /*查找定位s1的连接点(即结束符) */ 8灵静话/*将s2逐个字符复制到s1后,对应下标后移*/ /*手工对s1加结束符*/ printf( "The new string is:%s” ,s1);
#include <stdio.h>
#include <string.h>
void mystrcat(char s1[], char s2[]) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int i, j;
for (i = len1, j = 0; j < len2; i++, j++) {
s1[i] = s2[j];
}
s1[i] = '\0';
}
int main() {
char s1[80], s2[40];
printf("Enter string s1: ");
gets(s1);
printf("Enter string s2: ");
gets(s2);
mystrcat(s1, s2);
printf("The new string is: %s\n", s1);
return 0;
}
C语言写以下函数的功能是:比较两个字符串的大小,当s1与s2相等时返回0,当s1大于s2时返回一个正整 数,当s1小于s2时返回一个负整数,请选择填空完成程序。 int mystrcmp(char *s1,char *s2) { while(*s1==*s2) if(*s1=='\0') return 0; else s1++,s2++; return 1 ;
以下是用 C 语言编写的完整程序:
```c
#include <stdio.h>
int mystrcmp(char *s1, char *s2) {
while (*s1 == *s2) {
if (*s1 == '\0') {
return 0;
}
s1++;
s2++;
}
return *s1 - *s2;
}
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
int result = mystrcmp(str1, str2);
if (result > 0) {
printf("字符串1大于字符串2\n");
} else if (result < 0) {
printf("字符串1小于字符串2\n");
} else {
printf("字符串1等于字符串2\n");
}
return 0;
}
```
该程序定义了一个 `mystrcmp` 函数,用于比较两个字符串的大小。函数的实现方式是,通过 while 循环逐个比较字符串 s1 和字符串 s2 的每个字符,如果相等则继续比较下一个字符,直到遇到字符串结束符 '\0' 或者两个字符不相等为止。然后根据比较结果返回一个正整数、负整数或者 0,用于表示 s1 和 s2 的大小关系。
在主函数中,通过 `scanf` 函数获取输入的两个字符串,然后调用 `mystrcmp` 函数进行比较,并根据比较结果输出相应的提示信息。
阅读全文