C语言中关于char类型的认识

C语言中关于char类型的认识

char是分配1字节,存储的是ASCII码,A:65,a:97;

在命名char类型是不要使用双引号,c中必须单引号,在java中就高级点了什么都可以。

补充:printf()输出时对于char有点不同,使用“”%d“是输出字符代表的ASCII码。使用:%c,是输出单个字符;使用%s:就是输出多个字符了。

代码:

#include

int main(void)

{

char q=1;

char a=254;

char aa=255;

char z=256;

char x=257;

char c=258;

char v=512;

char b=1024;

printf("%d\n",q);

printf("%d\n",a);

printf("%d\n",aa);

printf("%d\n",z);

printf("%d\n",x);

printf("%d\n",c);

printf("%d\n",v);

printf("%d\n",b);

char s[2]={'ajjyyihgkk','y'};

printf("%s\n",s);

return 0;

}

输出结果:

代码语言:javascript代码运行次数:0运行复制1

-2

-1

0

1

2

0

0

ky至于最后一个你看人以自己试试,的却是这样的。

代码:

#include

int main(void)

{

char dfd='asa';

printf("%s",dfd);

return 0;

}

代码结果:

代码语言:javascript代码运行次数:0运行复制signal: segmentation fault (core dumped)原因就是:char的存储空间是1字节;

代码:

#include

int main(void)

{

int max=4;

int aa []={'1','2','3','4','a'};

int *per[4];

for(int i=0;i<5;i++){

per[i]=&aa[i];

printf("%d\n",aa[i]);

}

return 0;

}

代码结果:

代码语言:javascript代码运行次数:0运行复制49

50

51

52

97提示:只要你加了:‘’,这就说明这就是char类型,int与char类型之间是可以进行相互转化的。最后输出的是ASCII码。

再来一段对比代码

代码1:

#include

int main(void)

{

int max=4;

int aa []={1,2,3,4,'a'};

int *per[4];

for(int i=0;i<5;i++){

per[i]=&aa[i];

printf("%d\n",*per[i]);

}

return 0;

}

输出结果:

代码语言:javascript代码运行次数:0运行复制1

2

3

4

97代码2:

#include

int main(void)

{

int max=4;

int aa []={1,2,3,4,'a'};

int *per[4];

for(int i=0;i<5;i++){

per[i]=&aa[i];

printf("%d\n",per[i]);

}

return 0;

}

输出结果:

代码语言:javascript代码运行次数:0运行复制-1790809104

-1790809100

-1790809096

-1790809092

-1790809088提示:

之间的差距就是一个*,就是拿到地址之后的存储内容。

代码:

#include

const int MAX = 4;

int main ()

{

const char *names[] = {

"Zara Ali",

"Hina Ali",

"Nuha Ali",

"Sara Ali",

};

int i = 0;

for ( i = 0; i < MAX; i++)

{

printf("Value of names[%d] = %s\n", i, names[i] );

}

char aa[]="aa";

int ss='a'+'a';

printf("%s\n",aa);

printf("%d",ss);

return 0;

}

代码结果:

代码语言:javascript代码运行次数:0运行复制Value of names[0] = Zara Ali

Value of names[1] = Hina Ali

Value of names[2] = Nuha Ali

Value of names[3] = Sara Ali

aa

194提示:int类型也是可以复制字母,并且有加减运算。

相关推荐