當前位置:首頁 » 編程語言 » c語言strcat函數實現
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言strcat函數實現

發布時間: 2022-09-28 13:29:04

❶ (c語言)指針習題:編寫字元串連接函數strcat()

#include <stdio.h>

void strcat(char *d,const char *s)

{

int i;

for(i=0;d[i];i++);

for(;d[i++]=*s++;);

}

int main()

{

char d[128],s[128];

scanf("%s %s",d,s);

strcat(d,s);

puts(d);

return 0;

}

❷ C語言 編寫函數strcat(char *str1,char *str2,char *str3)

其中,strcat函數原型如下:
char *strcat(char *strDest, const char *strSrc)
{ char *address = strDest; //該語句若放在assert之後,編譯出錯
assert((strDest != NULL) && (strSrc != NULL)); //對源地址和目的地址加非0斷言
while(*strDest) //是while(*strDest!=』\0』)的簡化形式
{
strDest++;
} //這個循環的目的是讓指針strDest指向其字元串的最後一位'\0'
while(*strDest++ = *strSrc++)
{
NULL;
} //這個循環是將字元串strSrc加到strDest的後面
return address; //為了實現鏈式操作,將目的地址返回
}

你給的函數返回類型是void,把最後的return行刪去就行了

❸ C語言strcat

編輯本段C函數
原型
extern char *strcat(char *dest,char *src);
用法
#include <string.h> 在C++中,則存在於<cstring>頭文件中。
功能
把src所指字元串添加到dest結尾處(覆蓋dest結尾處的'\0')並添加'\0'。
說明
src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。 返回指向dest的指針。
舉例
// strcat.c #include <syslib.h> #include <string.h> main() { char d[20]="Golden Global"; char *s=" View"; clrscr(); strcat(d,s); printf("%s",d); getchar(); return 0; } 程序執行結果為: Golden Global View Strcat函數原型如下: char *strcat(char *strDest, const char *strSrc) //將源字元串加const,表明其為輸入參數 { char *address = strDest; //該語句若放在assert之後,編譯出錯 assert((strDest != NULL) && (strSrc != NULL)); //對源地址和目的地址加非0斷言 while(*strDest) //是while(*strDest!=』\0』)的簡化形式 { //若使用while(*strDest++),則會出錯,因為++是不受循環 strDest++; //約束的。所以要在循環體內++;因為要是*strDest最後指 } //向該字元串的結束標志』\0』。 while(*strDest++ = *strSrc++) { NULL; //該循環條件內可以用++, } //此處可以加語句*strDest=』\0』;無必要 return address; //為了實現鏈式操作,將目的地址返回 }
編輯本段MATLAB函數
定義
strcat 即 Strings Catenate,橫向連接字元串。
語法
combinedStr = strcat(s1, s2, ..., sN)
描述
將數組 s1,s2,...,sN 水平地連接成單個字元串,並保存於變數 combinedStr 中。如果任一參數是元胞數組,那麼結果 combinedStr 是一個元胞數組,否則,combinedStr 是一個字元數組。
實例
>> a = 'Hello' a = Hello >> b = ' Matlab' b = Matlab >> c = strcat(a,b) c = Hello Matlab

❹ C語言用指針編程實現strcat函數的功能

#include<stdio.h>

#include<assert.h>

void my_strcat( char *arr1,const char *arr2)

{

char* ret=arr1;

const char* dst=arr2;

assert(arr1);

assert(arr2);

while(*ret)00

{//將指針所指目標轉移到未賦值的字元位置

ret++;

}

while(*dst)

{

*ret = *dst;

dst++;

ret++;

}

*ret=*dst; //將' '拷貝到arr1中

printf("%s ",arr1);

}

int main()

{

char arr1[32]="I am a ";

const char arr2[]="good student!";

my_strcat(arr1,arr2);

return 0;

}

運行效果:

(4)c語言strcat函數實現擴展閱讀:

其它方法:

#include<stdio.h>

#include<string.h>

#include<assert.h>

void my_strcat( char* arr1, const char* arr2,int n)

{

char* p = arr1;

char* q =(char *)arr2;

assert(arr1);

assert(arr2);

p = p + n;

while( *q!= '')

{

*p = *q;

p++;

q++;

}

*p = *q;

printf("%s ",arr1);

}

int main()

{

char arr1[32]="I am a";

const char arr2[]=" good boy!";

int n=strlen(arr1);

my_strcat(arr1,arr2,n);

return 0;

}

❺ C語言strcat函數怎麼用

用法:

#include <string.h>

在C++中,則存在於<cstring>頭文件中。

strcat原型:

extern char *strcat(char *dest,char *src);

功能:

把src所指字元串添加到dest結尾處(覆蓋dest結尾處的'')並添加''。

說明:

src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。

返回指向dest的指針。

strcat()函數從名稱來講就是索的含義,用途:在一個字元串的末尾增加新的字元。

函數定義如下:

char *strcat(char *dest, const char *src);

(5)c語言strcat函數實現擴展閱讀

代碼實現如下:

char *strcat(char *dest, const char *src)

{

char *tmp = dest;

while (*dest)

dest++;

while ((*dest++ = *src++) != '');

return tmp;

}

實現原理:

首先dest地址移動到最後一位,然後增加src參數值遇到』』結束拷貝。

strcat()也存在著與strcpy()類似的問題。

❻ 如何用c語言編寫strcat函數

C語言中 本身有strcat函數。

如果要自己實現 可以採用指針方式:

char*my_strcat(char*s,char*d)
{
char*r=s;
while(*r)r++;
while(*d)*r++=*d++;
*r=0;
returns;
}

❼ c語言指針實現字元拼接函數strcat

對於strcat,其格式為

char *strcat(char *a, char *b);

其功能為,將字元串b拼接到a的尾部,並將結果字元串返回。

所以,實現該函數的思路為:

1 找到字元串a的結尾;

2 將b的所有字元復制到a尾部的空間中,到為止。

需要注意的是,復制的結果要包含b的結束符。


代碼如下:

char*strcat(char*a,char*b)
{
char*p=a;
while(*p)p++;
//當*p為時退出,即查找到a的結尾。
do
{
*p++=*b;//將b中的每個字元復制到p中。
if(*b=='')break;//遇到結束符退出。
b++;//移動指針b的位置。
}while(1);

returna;//返回結果字元串首地址。
}