大一C语言指针和数组,字符串的连接

大一C语言指针和数组,字符串的连接,第1张

#include <stdioh>

char str_cat (char str1, char str2) {

// TODO 请在此处编写代码,完成题目要求

char q[100000];

char p=q;

while(str1)(p++)=(str1++);

while(str2)(p++)=(str2++);

p=str2;

return q;

}

int main () {

char p, str1 = "abc", str2 = "def";

p = str_cat(str1, str2);

printf("%s", p); return 0;}

// void fun(char p1[], char p2[]) 的最后一行

p2[j]='\0';

// 改为:

p1[n]='\0';#include <stdioh>

void fun(char p1[], char p2[])

{

int i=0,j=0,n=0;

while(p1[i]!=0)

{

i++;

n++;

}

while(p2[j]!=0)

{

p1[n]=p2[j];

n++;

j++;

}

p1[n]='\0';

}

main()

{char s1[80], s2[40] ;void NONO ();

     printf("Enter s1 and s2:\n");

     scanf("%s%s", s1, s2);

     printf("s1=%s\n", s1);

     printf("s2=%s\n", s2);

     printf("Invoke fun(s1,s2):\n");

     fun(s1, s2);

     printf("After invoking:\n");

     printf("%s\n", s1);

     //NONO();

}

注意,下面这句

i++

,如果a数组中取出的

不是

'\0'

(结束符)的话,

i

1

while(a[i]!='\0')

i++;

//

所以

下面这句执行

时,

i

应该

10

(左右),就是

hello

word

结束后

while(b[j]!='\0')

所以不会覆盖

a

数组中原有数据

思路:先找到第一个字符串的结束位置,接着把第二个字符串的所有字符复制到第一字符串后面,最后加上字符串结束标志'\0'。

参考代码:

#include "stdioh"

void fun(char s1,char s2){

int i=0,j=0;

while(s1[i++]);

i--;

while(s2[j])

s1[i++]=s2[j++];

s1[i]='\0';

}

int main() {

char a[200],b[100];

gets(a);

gets(b);

fun(a,b);

puts(a);

return 0;

}

/

运行结果:

qwerewr

asdfghj

qwerewrasdfghj

/

Please input str1:123

Please input str2:456

123456

Press any key to continue

#include <stdioh>

charmystrcat(charstr1,charstr2);

void main()

{

char str1[50];

char str2[50];

char str;

printf("Please input str1:");

gets(str1);

printf("Please input str2:");

gets(str2);

str=mystrcat(str1,str2);

puts(str);

}

char mystrcat(charstr1,charstr2)

{

charstr=str1;

while (str) //把str移动到str1的最后

str++;

while(str2) //然后再往后面续上str2

str++=str2++; //否则str2 就把str1内容给覆盖了

str='\0';

return str1;

}

几乎所有的字符串函数,第一个参数都是目的参数,结果也是存在这个参数中。

按你的要求:字符+字符串,应该是没有现成的功能函数。如果经常用到,自己封装一个函数吧;

如果你的连接是:字符串+字符,倒是可以使用strncat()函数,strncat(bcd, &a, 1); // bcd 为字符串变量,a为字符变量

以上就是关于大一C语言指针和数组,字符串的连接全部的内容,包括:大一C语言指针和数组,字符串的连接、c语言编程将两个字符串连接起来、C语言中 怎么连接两个字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9636255.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存