❶ 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='