1. 程式人生 > >用c語言實現一個strcat函式功能相同的函式

用c語言實現一個strcat函式功能相同的函式

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

把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。

#include "stdafx.h"
#include <iostream>
void mycat(static char a[],char b[])
{
	int i=0,j=0;
	while(a[i++]!='\0')
	{


	}


	while(b[j++]!='\0')
	{
		a[i++]=b[j++];
		//i++;
	}
	a[i]='\0';
	
}
int main()


{
	char str1[20]="yanzefeng";
	char str2[]={"feng"};
	mycat(str1,str2);
    printf("%s",str1); 
	
	getchar();


    return 0;
}




#include "stdafx.h"
#include <assert.h> 
#include <iostream>

//將源字串加const,表明其為輸入引數 
char * strcat(char *strdest,const char *strsrc)
{
	// 後文return address,故不能放在assert斷言之後宣告address 
	char *address=strdest;
	assert((strdest!=NULL)&&(strsrc!=NULL));//對源地址和目的地址加非0斷言

	while(*strdest)//當他指向不為空時
	{
		strdest++;//指標向後移 
	}

	while(*strsrc)
	{
		*strdest++=*strsrc++;
	}//此處可以加語句*strDest=’\0’;無必要 
    return address;//為了實現鏈式操作,將目的地址返回 

}

int main()
{
	char d[20]="yanze";  //陣列當函式引數時會自動退化為指標
	char *s="feng";
	strcat(d,s);
	printf("%s",d);
	getchar();
	return 0;
}




相關推薦

c語言實現一個strcat函式功能相同函式

extern char *strcat(char *dest,char *src); 把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。 #include "std

c語言實現 一個通訊錄(實現 增加、刪除、查詢、修改、顯示、清空功能

源程式標頭檔案contact.h #ifndef _CONTACT_H__ #define _CONTACT_H__ #define NAME_MAX 20 #define SEX_MAX 5 #define TELE_MAX 15 #define ADDR_MAX 5

c語言實現一個自己的atof()函式

用c語言實現atof()函式,將字元分解用乘法和除法實現轉換,程式碼如下 ****************************************************************************************************

c語言實現一個簡單的通訊錄

通訊錄的c語言實現原始碼 簡單通訊錄的實現還是包括三個原始檔,test.c(實現通訊錄主邏輯),txl.c(實現用到的各個函式),txl.h(存放txl中用到的各種標頭檔案與宣告)。 txl.h #ifndef __TXL_H__//**txl.h** #defi

[領卓教育]C語言實現ls以及ls-功能

各位程式設計師在自己的虛擬機器裡一定沒少執行過“ls”這個功能吧,這個程式碼就是實現了ls和ls-l功能,話不多說,上程式碼。 實現程式碼 int process_ls(char * path) { DIR * dirp; struct dire

C語言實現一個鍵值對結構demo

主要思路是有兩個指標陣列,一個為key,一個為value,用索引一一對應實現一個key對應一個value。包括了增加和刪除,控制檯列印方法,現在仍有些指標指向記憶體類的bug需注意。這個程式嚴格來說還算不上雜湊。 #include<stdio.h>

綜合例項:C語言實現一個自定義的shell程式

      一個shell需要實現若干功能,比如解釋執行命令,支援輸入輸出重定向,支援管道,後臺執行程式等。首先對要實現的功能做一個簡要介紹:       (1)輸出重定向:就是把執行某命令後的結果輸出到某個檔案。例如: ls -al > list.txt  

【二分查詢】C語言實現一個有序陣列的二分查詢

什麼是二分查詢? 首先,二分查詢也叫折半查詢,它是對於一組有序(升序或降序)數列來說的,我們舉例子說明這個思想。 例如:猜數字遊戲 隨機給出1-100內的一個數字,請猜出這個數字 那我們不能隨機沒有規律的去猜,這時考慮二分查詢的思想 例如38 第一次

C語言實現一個通訊錄

實現一個通訊錄; 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括: 姓名、性別、年齡、電話、住址 提供方法: 1.    新增聯絡人資訊 2.    刪除指定聯絡人資訊 3.    查詢指定聯絡人資訊 4.    修改指定聯絡人資訊 5.    顯示所有聯絡人資訊

C語言實現一個日曆顯示

#include <stdio.h> #include <stdlib.h> #define SIGN_WEEK 6 #define SIGN_YEAR 2000 int month_day[14]={31,31,0,31,30,31,30,31,3

c語言實現日誌功能

windows.h 用c語言實現 pause truct argc ifdef open info oid // 參考鏈接 // C語言實現寫入日誌文件 https://blog.csdn.net/sunlion81/article/details/8647028 #

atoi函式的用法及C語言實現ato

庫函式原型: #inclue <stdlib.h> int atoi(const char *nptr); 用法:將字串裡的數字字元轉化為整形數。返回整形值。 注意:轉化時跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('/0')才結束

c語言 實現一個函式,判斷一個數是不是素數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C語言一個簡單的三子棋,實現玩家與電腦的對戰

原始碼: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> #include <time.h> /* 用 C 寫一個三子棋 */ //邏輯: //1. 畫

C語言實現掃雷部分功能(可連續展開)

用了用了兩天時間,寫了個掃雷的小程式,是不是有點慢了。不過我是真覺得用c寫小東西很有意思。 PS:重新遊戲那裡還沒開始寫,後面會補上。 ** 感覺最困難,花費時間最多的在棋盤中無雷周邊區域顯示的演算法上。 ** 具體程式見下: 標頭檔案 #ifndef __SAO

C語言實現一個連結串列刪除指定的一個或多個元素

#include<stdio.h> #include<stdlib.h> typedef struct node{ int data; struct node *next; }LinkList; //建立一個連結串列  LinkL

輸入一個日期(年月日),輸出該日期的後天。C語言實現

對於這個問題,首先想到後天就是日再加2,那麼如果輸入的這個日期是每個月的前些天,輸出結果就是年,月,日+2.這麼簡單。但是如果輸入的這個日期是月末的兩天,那月份一定會加1,如果這個月是12月,那年份也要加1,月份變為1,日期也會改變。而且,每個月的天數都不一樣,更需要注意的是

C語言實現:輸入一個字元,則輸出它的大小或小寫字元。

題目: 用C語言實現:連續輸入一個大寫字元則輸出它的小寫字元;輸入它的小寫字元則輸出它的大寫字元;輸入數字則不輸出任何。 思路: 題目說輸入字元或數字,輸入的格式不一樣,所以不可以使用scanf()那麼可以用getchar()連續輸入多個字元. 既然是連續輸入,

C語言實現一個函式,可以左旋字串中的k個字元

// 實現一個函式,可以左旋字串中的k個字元   例如:                 //ABCD左旋一個字元得到BCDA                 //ABCD左旋兩個字元得到CDAB    解題思路:                   1> 先理思