c语言数组处理函数,c语言数组常用函数

C语言中字符数组及字符串处理函数

一、字符数组的定义

创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信平台小程序开发,十余年建站对岗亭等多个行业,拥有丰富的网站建设经验。

一维字符数组:用于存储和处理1个字符串,其定义格式与一维数值数组一样。

char str[20];

二维字符数组:用于同时存储和处理多个字符串,其定义格式与二维数值数组一样。

char country[10][20];

country[i]:第i个字符串

二.字符数组的初始化

字符数组的初始化.

1.可以通过为每个数组元素指定初值字符来实现。

char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};

char str[ ]={"I am happy"}; 可以省略花括号,如下所示

char str[ ]="I am happy";

char country[10][20]={“china”,”japanese”,……};

注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的

char str[15];

str="I am happy";

strcpy(str, "I am happy");

不是用单个字符作为初值,而是用一个字符串(注意:字符串的两端是用双引号“”而不是单引号‘’括起来的)作为初值。

‘a’ “a”区别

三、字符数组的引用

字符数组的逐个字符引用,与引用数值数组元素类似。

(1)字符数组的输入

除了可以通过初始化使字符数组各元素得到初值外,也可以使用getchar()或scanf()函数输入字符。

例如:

char str[10];

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

{ scanf(\"%c\", str);

fflush(stdin); /*清除键盘输入缓冲区*/

}

这里只是一部分具体你查看这里:

C语言怎么使用一个函数对任意大小的数组进行处理

//代码1

//要输入多少个数据:6

//1 2 3 4 5 6      (连续输入6个数据)

//1 4 9 16 25 36   (结果)

#includestdio.h

#includestdlib.h //用于调用函数malloc()

void pr(int p[],int j);

int main()

{

int i,j;

int *a;  //指向动态内存

printf("要输入多少个数据:");

scanf("%d",j);

//创建动态内存

a=(int *)malloc(j * sizeof(int));

if(a == NULL)

{

printf("\n分配动态内存时出错.\n");

exit(1);

}

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

{

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

}

pr(a,j);

//原代码for(int i=0;ij;i++)

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

{

//原代码printf("%5d\n",a[i]);

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

}

return 0;

}

void pr(int p[],int j)

{

int i;

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

{

p[i]=p[i]*p[i];

}

}

//

//代码2

#includestdio.h

#includestdlib.h //用于调用函数malloc()

void pr(int p[],int j);

int main()

{

int buf[]={1,2,3,4,5,6};

int i,j;

int *a;  //指向动态内存

//计算数组buf的大小

j=sizeof(buf)/sizeof(int);

//创建动态内存

a=(int *)malloc(j * sizeof(int));

if(a == NULL)

{

printf("\n分配动态内存时出错.\n");

exit(1);

}

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

{

a[i]=buf[i];

}

pr(a,j);

printf("原数组里的数据: ");

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

{

printf("%d ",buf[i]);

}

printf("\n");

printf("运算后的数据: ");

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

{

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

}

return 0;

}

void pr(int p[],int j)

{

int i;

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

{

p[i]=p[i]*p[i];

}

}

//

c语言数组与函数?

给你看一下我的代码

#includestdio.h

void main(){

int a[10],b[10],i,j,temp;

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

printf("请输入第%d个数:",(i+1));

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

//保存数组,因为输入完数组要冒泡排序,排序后的元素顺序可能和原数组不一样

b[i]=a[i];

}

//冒泡排序,求最大值

for(i=0;i9;i++){

for(j=0;j9-i;j++){

if(a[j]a[j+1]){ //这里控制的升序还是降序,我这是降序

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

//查找最大值在原数组的位置

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

if(b[i]==a[0]){ //降序的话最大值是a[0],升序的话最大值是a[9]

break; //一旦找到最大值,马上跳出循环

}

}

printf("最大值是%d,它在原数组中是第%d个元素!\n",a[0],(i+1));

}

C语言中对数组进行操作的函数有哪些?

没有这样的库函数,都比较简单的,自己写个好了

如果是字符串数组,strchrstring.h可以查找某个字符是否在这个字符串数组中


当前题目:c语言数组处理函数,c语言数组常用函数
本文地址:http://azwzsj.com/article/dsijjdc.html