當前位置:首頁 » 編程語言 » c語言字元串復制
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言字元串復制

發布時間: 2022-02-01 22:32:39

c語言問題,字元串復制

strcpy函數的參數是兩個地址加了常量,是將b+2處開始的字元串復制到a+1處,因此
執行完的結果是 a數組中變成了 a2

strcat(a,c+1)是將 c+1開始的字元串連接到a的後面,因此
執行完 a數組變成 a2yz

Ⅱ C語言 字元串復制

將指針p 的類型由int改為char就可以了

Ⅲ C語言字元串復制函數問題

不能用字元數組,學過c++你就應該明白字元串有常量和變數注意區分它們,這是可能造成錯誤

Ⅳ C語言編程問題,關於字元串復制

#include<stdio.h>

#defineN100

voidMy_strcpy(char*str2,char*str1)
{
inti=0;

while(str1[i])
{
str2[i]=str1[i];
++i;
}
str2[i]=0;
}

intmain()
{
charstr1[N],str2[N];
//把str1復制到str2
gets(str1);

My_strcpy(str2,str1);

puts(str2);
return0;
}

Ⅳ C語言問題:將一個字元串復制到另一個字元串中

while(n--)
{
s1++;
}
s1是char
*
類型的,
你把s1想成是:
char
s1[m+n]的一個數組,
s1++
相當於從s1[0]--->s1[1]
;
用while(n
--)
則移動了n次,則移到了s1[n-1]位置

Ⅵ c語言,字元串復制問題

#include
<stdio.h>
#include
<string.h>
int
main()
{
char
a[7]="abcdef";
char
b[4]="ABC";
//strcpy只管拷貝,拷到\0結束,後邊就不會管了.用printf("%s\n",a)也只輸出到\0
//b只有3個字元,拷到a[2]再a[3]放個字元結束符\0,後邊原由的字元沒動過,還在
strcpy(a,b);
printf("%c\n",a[5]);
return
0;
}

Ⅶ C語言實現字元串拷貝函數的幾種方法

首先是使用庫函數
比如下面代碼

void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //該函數還有另一個版本可以按長度截取 }

還有一個函數是memcpy,這個是內存拷貝,原型是

void memcpy(void *dest, const void *src, size_t n); 需要注意的是這個函數第一個和第二個指針都是void型且第二個指針不能被修改,第三個參數是需要拷貝的內存長度按位元組記。

然後是用指針引用,注意這個並非賦值,而是引用,這種操作需要注意內存。

char s1[] = "abcdefg";//定義一組字元串char *s2 = s1;//按照指針拷貝字元串

第三種方法就是直接賦值了

void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//獲取第一個字元串的長度 int len2 = strlen(s2);//獲取第二個字元串的長度 int len = 0; //字元串總長度 if(len1 <= len2){ len = len2; //選擇COPY的長度 }else{ len = len1; } for(int i = 0 ; i < len ; i++){ s1[i] = s2[i]; //實現數據拷貝 }}

Ⅷ C語言問題:將字元串a復制到字元串b中

1、首先需要建立一個新的文件,輸入頭文件和主函數。

Ⅸ c語言字元串賦值

char
string[500]="abcdefg";
這個就是說你在給一個數組賦值
但是如果你定義完數組以後又這樣
string[500]="abcdefg";
就是說你在給數組里的第500個元素賦值
首先數組下標最大是499
沒有500
其次
只能存放一個字元你確放了一個字元串
當然不對了