一:char* catStr(char str1[],char str2[])

茫崖網站制作公司哪家好,找成都創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站等網站項目制作,到程序開發,運營維護。成都創新互聯公司自2013年創立以來到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯公司。
{
strcat(str1,str2);
return str1;
}
二:
char* catStr(char str1[],char str2[])
{
int i=0;
int lenstr1=0;
lenstr=strlen(str1)
for(i;i=strlen(str);i++)
{
str1[lenstr++]=str2[1];
}
return str1;
}
我為了省事把兩個字符串寫死了,你可以改成用戶輸入 ,
但是為了避免數組溢出,所以要保存字符數組1要有足夠空間容納第二個字符串,我沒做這個判斷 ,你可以加上。
#include stdio.h
void cat(char* s1,char* s2)
{
int a,b;
a = sizeof(s1);
b = sizeof(s2);
for(int i = a-1;ia+b;i++)
{
if(!s1[i]) s1[i] = s2[i-a+1];
}
}
int main()
{
char a[7] = "aaa";
char b[] = "bb";
cat(a,b);
couta;
system("pause");
return 0;
}
C語言中 本身有strcat函數。
如果要自己實現 可以采用指針方式:
char?*my_strcat(char?*s,?char?*d)
{
char?*r?=?s;
while(*r)?r++;
while(*d)?*r++=*d++;
*r=0;
return?s;
}
看錯原型了,重新修改如下,希望可以幫到你。
char*
str_cat(char
*src,
char
*dec,
int
n
)
//
不考慮src的數組溢出
{
char
*s
=
src;
while(*src++)//
找到src的結束位置,就是0結尾的地方
;
//
分號
while(n--){
//
在src的結束位置開始加入dec的字符,直到dec遇到0結束
*src
=
*dec++;
src++;
}
*src
=
0;
return
s;
}
錯誤有三處:
printf("連接后字符串為:%s",c[80]);
改成printf("連接后字符串為:%s",c); %s讀的是字符串的地址,而不是數組
return c[80];
你定義的函數為char catStr(char a[], char[]b)類型,意思是返回值為一個字符
如果要返回串的地址,應該寫成char * catStr(char a[ ], char b[ ])
你返回了函數內c[ ]的地址,c的地址在你每次調用函數時才分配
最好寫成void catStr(char a[], char b[], char c[]);
最后的s1后面沒賦值‘\0’
修正后的
#includestdlib.h
#includestdio.h
#includeconio.h
void?fun(char?p1[],char?p2[])
{char?*s1,*s2;
s1=p1;s2=p2;
while(*s1!='\0')
s1++;
while(*s2!='\0')
{*s1=*s2;s1++;s2++;}
*s1='\0';
}
void?main()
{
char?s1[80],s2[40];
system("CLS");
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);
}
網站名稱:c語言cat函數 r語言的cat函數
當前路徑:http://www.yijiale78.com/article34/hihise.html
成都網站建設公司_創新互聯,為您提供Google、微信小程序、外貿網站建設、網站營銷、手機網站建設、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯