❶ c語言中,我寫了一個函數,參數是字元串數組,應該怎樣才可以在函數在獲取參數的長度.我怎麼弄都是4..
int length(const char *string1) //string是c++定義的類名
{int i = 0;
while (*string1++)
i++;
return i;
}
char a[2]; // 這是定義一個字元數組,不是一個字元串,內存中開辟2個位元組,後面的不管了
const char *a="12";//這才是一個字元串,內存中佔了3各位元組'1''2''\0' ,不一樣的!
❷ c語言字元串指針作函數參數。
fun函數裡面指針s=a傳遞的是函數地址,s在函數入口承接p指針值,之後接a,不改變p指針地址下的值!
❸ c語言,字元數組函數
#include<stdio.h>
/*比較兩個字元串*/
/*src、dst相等return1*/
/*src比dst短return-2*/
/*src比dst長return2*/
/*src、dst長度一致但不相等return-1*/
intstringCmp(char*src,char*dst){
if(strlen(src)<strlen(dst))
return-2;
elseif(strlen(src)>strlen(dst))
return2;
else{
while(*src&&*dst){
if(*src!=*dst)
return-1;
src++;
dst++;
}
return1;
}
}
/*合並兩個字元串*/
voidmergeString(char*str1,char*str2,char*merge){
while(*merge++=*str1++);/*復制str1並將指針移動到字元串的末尾的下一個位置*/
merge--;/*退到字元串的末尾*/
while(*merge++=*str2++);/*從末尾( )的位置開始將str2拷貝進來*/
*merge='