c语言数组函数,c语言数组函数的使用方法

c语言,字符数组函数

#include stdio.h

三江侗网站建设公司成都创新互联公司,三江侗网站设计制作,有大型网站制作公司丰富经验。已为三江侗成百上千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的三江侗做网站的公司定做!

/*比较两个字符串*/

/*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;

}

}

/*合并两个字符串*/

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

while (*merge++ = *str1++); /*复制str1并将指针移动到字符串的末尾的下一个位置*/

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

while (*merge++ = *str2++); /*从末尾(\0)的位置开始将str2拷贝进来*/

*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;

}

运行结果

c语言函数怎么调用数组部分

一、数组可定义为全局变量,函数直接调用。

二、数组可定义为局部变量,再通过参数传递到函数中调用(实参传数组名,表示数组首地址,也可通过指针或数组名+数字来传递数组局部地址)。

三、main函数想要调用函数返回的数组,可用static定义静态变量或malloc定义动态数组(字符串常量也可返回使用,但局部变量,在函数调用结束会被释放,不能作为返回地址使用)。

下面是演示代码:

#include stdio.h

#include string.h

#include malloc.h

char str1[]="我是全局变量数组";

char *fun0(char str2[]);

char *fun1();

char *fun2();

int main()

{

char *str3=NULL,*str4=NULL,*str5=NULL;

char str2[]="我是main函数的局部数组变量";

str3=fun0(str2);

printf("str3:%s,fun函数调用结束,我的地址依然可以使用\n",str3);

str4=fun1();

printf("str4:%s,fun函数调用结束,我的地址依然可以使用\n",str4);

str5=fun2();

printf("str5:%s,fun函数调用结束,函数结束不会自动释放\n",str5);

free(str5);

return 0;

}

char *fun0(char s[])

{

static char str3[]="我是fun函数申明的静态数组变量";

printf("str1:%s,fun函数可以直接调用\n",str1);

printf("str2:%s,fun函数通过参数将我的地址传进来\n",s);

return str3;

}

char *fun1()

{

char *str4="我是fun1函数的字符串常量";

return str4;

}

char *fun2()

{

int len;

char sTemp[]="这是一个临时数组,之后用于给mallc申请的地址传值,传递内容为:(我是fun函数通过mallic申请的数组)";

char *str5=NULL;

len=strlen(sTemp+63);

str5=(char *)malloc(sizeof(char)*len+1);

if(!str5)return NULL;

strcpy(str5,sTemp+63);

str5[len-2]=0;

return str5;

}

C语言数组的输出函数

#include

"stdio.h"

void

input(int

a[10])

//给一维数组输入数据

{

int

i;

for(i=0;i10;i++)

scanf("%d",a[i]);

}

void

output(int

a[10])

//输出一维数组输入数据

{

int

i;

for(i=0;i10;i++)

printf("%d

",a[i]);

}

int

main()

{

int

b[10];

input(b);

//调用input函数给数组b赋值

output(b);//调用output函数输出数组b中的值

}


分享标题:c语言数组函数,c语言数组函数的使用方法
当前路径:http://myzitong.com/article/dseceos.html