真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言的dst函數(shù),dstdev函數(shù)

請問C語言中strcpy函數(shù),dst和src不能重疊是什么意思?

答: strcpy函數(shù)用于字符串復(fù)制, 也就是說將源地址(src)里面的內(nèi)容復(fù)制到目的地址(dst)指向的位置,自然dst和src的地址不能是同一個(gè),不然的話就地復(fù)制也沒有意義。希望能夠幫助到你。

成都創(chuàng)新互聯(lián)自2013年起,先為海鹽等服務(wù)建站,海鹽等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為海鹽企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

c語言,字符數(shù)組函數(shù)

#include?stdio.h

/*比較兩個(gè)字符串*/

/*src、dst相等?return?1*/

/*src比dst短?return?-2*/

/*src比dst長?return?2*/

/*src、dst長度一致但不相等?return?-1*/

int?stringCmp?(char?*src,?char?*dst)?{??

if?(strlen?(src)??strlen?(dst))

return?-2;

else?if?(strlen?(src)??strlen?(dst))

return?2;

else?{

while?(*src??*dst)?{

if?(*src?!=?*dst)

return?-1;

src++;

dst++;

}

return?1;

}

}

/*合并兩個(gè)字符串*/

void?mergeString(char*?str1,?char*?str2,?char*?merge)?{

while?(*merge++?=?*str1++);?/*復(fù)制str1并將指針移動到字符串的末尾的下一個(gè)位置*/

merge--;?/*退到字符串的末尾*/

while?(*merge++?=?*str2++);?/*從末尾(\0)的位置開始將str2拷貝進(jìn)來*/

*merge?=?'\0';

}

int?main(void)?{

char?*str1_1="hel",*str1_2="lo",?*merge1;

char?*str2_1="ness",*str2_2="happy",?*merge2;

char?*str3_1="hi",*str3_2="hi",?*merge3;

char?*str4_1="hello",*str4_2="world",?*merge4;

puts?("第1組字符串:");

puts?(str1_1);

puts?(str1_2);

if?(stringCmp?(str1_1,?str1_2)?==?1)

puts?(str1_1);

else?if?(stringCmp?(str1_1,?str1_2)?==?-2)?{

mergeString?(str1_2,?str1_1,?merge1);

puts?(merge1);

}

else?if?(stringCmp?(str1_1,?str1_2)?==?2?||?stringCmp?(str1_1,?str1_2)?==?-1)?{

mergeString?(str1_1,?str1_2,?merge1);

puts?(merge1);

}

putchar?('\n');

puts?("======================================================");

putchar?('\n');

puts?("第2組字符串:");

puts?(str2_1);

puts?(str2_2);

if?(stringCmp?(str2_1,?str2_2)?==?1)

puts?(str2_1);

else?if?(stringCmp?(str2_1,?str2_2)?==?-2)?{

mergeString?(str2_2,?str2_1,?merge2);

puts?(merge2);

}

else?if?(stringCmp?(str2_1,?str2_2)?==?2?||?stringCmp?(str2_1,?str2_2)?==?-1)?{

mergeString?(str2_1,?str2_2,?merge2);

puts?(merge2);

}

putchar?('\n');

puts?("======================================================");

putchar?('\n');

puts?("第3組字符串:");

puts?(str3_1);

puts?(str3_2);

if?(stringCmp?(str3_1,?str3_2)?==?1)

puts?(str3_1);

else?if?(stringCmp?(str3_1,?str3_2)?==?-2)?{

mergeString?(str3_2,?str3_1,?merge3);

puts?(merge3);

}

else?if?(stringCmp?(str3_1,?str3_2)?==?2?||?stringCmp?(str3_1,?str3_2)?==?-1)?{

mergeString?(str3_1,?str3_2,?merge3);

puts?(merge3);

}

putchar?('\n');

puts?("======================================================");

putchar?('\n');

puts?("第4組字符串:");

puts?(str4_1);

puts?(str4_2);

if?(stringCmp?(str4_1,?str4_2)?==?1)

puts?(str4_1);

else?if?(stringCmp?(str4_1,?str4_2)?==?-2)?{

mergeString?(str4_2,?str4_1,?merge4);

puts?(merge4);

}

else?if?(stringCmp?(str4_1,?str4_2)?==?2?||?stringCmp?(str4_1,?str4_2)?==?-1)?{

mergeString?(str4_1,?str4_2,?merge4);

puts?(merge4);

}

putchar?('\n');

puts?("======================================================");

putchar?('\n');

getch?();?/*屏幕暫留*/

return?0;

}

運(yùn)行結(jié)果

C語言指針。函數(shù)為何返回的參數(shù)是str不是dst,str為何會被修改,是通過dst嗎?

這個(gè)函數(shù)的參數(shù)是指針,此時(shí)是按地址傳遞的,函數(shù)內(nèi)的修改就能帶出來(按值傳遞不行)

dst是一個(gè)操作的指針,最后落在字符串的結(jié)束標(biāo)記那里,返回了也沒用。

而str存的是字符串的首地址。


分享標(biāo)題:c語言的dst函數(shù),dstdev函數(shù)
網(wǎng)頁URL:http://weahome.cn/article/dseoisd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部