回覆列表
  • 1 # akgyk740

    為字串複製函式,將字串2複製到字串1例如charstrl[10],str2[]={"QWERT"};strcpy(str1,str2);執行後是str1由{\0\0\0\0\0\0\0\0\0\0}變為{QWERT\0\0\0\0\0}就是吧str2中的QWERT複製到str1中,但是由於str1有10個長度所以後面的全是"\0"需要注意的就是1的長度必須大於2,目的是有足夠的空間容納2的東西;另外1必須是陣列名的形勢,2可以是陣列名也可以是字串長量;其餘的注意事項可以看C語言那本書很全的;是的,字串結尾程式會自動加結束符"\0’strcpy複製時,會把末尾的"\0’也給複製進去,且覆蓋一個字元。例如:main(){chars1[]="abcd12349";chars2[]="xyz";inti;strcpy(s1,s2);for(i=0;i<10;i++)printf("%c|",s1[i]);}打印出:x|y|z||1|2|3|4|9||可以看出,z後面那個字元覆蓋了。如果用printf("%s",s1);輸出,程式只打印出xyz,因為下一個是字串結束符,結束符以後的12349儘管還在s1裡,但不再考慮。(轉載)

  • 2 # 下雨的熱天

    #include<iostream>using namespace std;int main(){char str1[]="I love China!",str2[20];void Strcpy(char *p1,char *p2);Strcpy(str2,str1);cout<<"str1: "<<str1<<endl;cout<<"str2: "<<str2<<endl;return 0;}void Strcpy(char *p2,char *p1){int i=0;for(;*p1!="\0";p1++,p2++){*p2=*p1;}*p2="\0";}複製字串str1到字串str2的函式:void Strcpy(char *p1,char *p2);擴充套件資料:定義兩個字串變數,然後直接進行賦值:#include<iostream>#include<string>using namespace std;int main(){string str1="I love China!",str2;str2=str1;cout<<"str1: "<<str1<<endl;cout<<"str2: "<<str2<<endl;return 0;}

  • 中秋節和大豐收的關聯?
  • 懷孕期間會不會感覺肚子餓?但吃一點又飽了?為什麼?