首页 算命 正文

字符型数组趣味算命

1. 字符型数组有什么特殊之处

1、如果仅仅是每次引用字符数组的单个元素,那么字符数组与其他类型的数组没什么不同;

2、如果将字符数组的最后一个元素赋值为结束符,那么字符数组在处理上就比其他类型的数组方便了很多,此时可以进行字符串的整体输入与输出,而其他类型的数组只能是单个元素的输入与输出;

3、字符数组可以采用"jlskdajfl"方式去初始化,也可以采用其他类型数组的初始化的方式{'a','f','g,,,,}去初始化,如char str1[]="abcd",str2[]={'a','b','c','d'};而其他类型的数组只能采用后者;

4、指针数组的主要应用就是应用到字符数组上。

我能想到的大概就是这些了。

2. 字符型数组

我们在使用字符串时,定义是一个字符型数组,比如char s[256];在具体使用时,数组中放入字符串,如:char s[256]={“123456”};或char s[256]={ '1','2','3','4','5','6',0 };字符串以数字0结尾。其中s是数组名,也代表数组指针,它指向数组首字符。

在调用字符串时,我们在使用字符串时,可以用指针或数组名来实现,比如strcat(s,s+i+n);其中前面那个参数就是引用了数组名当成字符串指针,实际上是告诉strcat函数,第1个字符串是从s开始的字符串"123456",第2个参数也是个指针这个指针是s加上i再加n个字符后形成的指针,比如i=1; n=2;时,s+i+n这个指针就指向了字符'4',那么函数strcat接到的第2个字符串就是"456"

如果在使用字符串数组时,我们指定了下标访问时,将访问对应的字符型数据,比如s[0]等于字符'1',当i=1;n=2;时s[i+n]等于字符'4'。

所以说s和s+i+n是两个指针,在计算机中就是两个存储区的开始地址。

3. 字符型数组

#define MAX 1000

//0 00 01 10 000 001 010 011 100 101 110 0000 0001

// 1 2*3 3*7 4*15

// 0 1 2

#include

int cifang(int a,int b)

{

int result=1;

for(int i=0;i {

result=result*a;

}

if(b==0){

return 1;

}

else if(b==1){

return a;

}

else{

return result;

}

}

void insert(char *ar,int i,int j)

{

int x,y;

}

int _tmain(int argc, _TCHAR* argv[])

{

char Array[MAX];

int i=0,j=0,n;

int x;

int temp=0;

printf("input n:");

scanf("%d",&n);

while(i {

int num=cifang(2,i+1)-1;

//printf("%d \n",num);

for(temp=0;temp {

int temp2=temp;

for(x=0;x {

Array[j]=temp2&0x01+'0';

printf("%d ",temp2&0x01);

temp2=temp2>>1;

j++;

}

}

printf("\n");

i++;

}

getchar();

getchar();

return 0;

}