C语言如何定义一个数组存放字符和数字?
就比如扑克,从A,1,2,3,4,5,6,7,8,9,10,J,K,Q,如何把这些有包含数字和字母的这些数组,定义存放在一个数组,让他一个一个显示出来10要怎么放进去,存...
就比如扑克,从A,1,2,3,4,5,6,7,8,9,10,J,K,Q,如何把这些有包含数字和字母的这些数组,定义存放在一个数组,让他一个一个显示出来
10要怎么放进去,存放数字10显示出来是0 展开
10要怎么放进去,存放数字10显示出来是0 展开
8个回答
展开全部
C语言中,字符类型char和整数类型在存储数据的格式上是相同的,都是采用补码存储数据。所不同的是,char只有一个字节,而int数据有四个字节。一个字节表示的有符号数范围为:-128~127, 四字节表示的有符号数范围为:-2^31~2^31-1.
因此,若想定义一个数组,既能存储char类型,又能存储int类型,则一般情况要定义成int类型数组。
若实际应用中,需要保存的整数类型数据范围在-128~127之间,则可定义成char类型数组。
注:
当char类型数组中既存储整数,又存储字符时,一定不要按字符串来操作!因为,数值0是整数的一个有效数字,但又是字符串的结束符值。按字符串操作这样的数组,会导致程序计算出现错误。
在输出数据时,如printf(),当格式串为%c时,是把数组中存储的值按字符输出;当格式串为%d时,是把数组中存储的值按整数输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“扑克,从A,1,2,3,4,5,6,7,8,9,10,J,K,Q,如何把这些有包含数字和字母的这些数组,
定义存放在一个数组”
看起来你的要求其实是一个字符数组来存放,
因为“1,2,3,4,5,6,7,8,9,10,”在显示时是以ASCII标准码的字符定义输出的。
所以定义一个char[]数组来存放这些数据,
显示时直接输出字符来显示就可满足要求。
定义存放在一个数组”
看起来你的要求其实是一个字符数组来存放,
因为“1,2,3,4,5,6,7,8,9,10,”在显示时是以ASCII标准码的字符定义输出的。
所以定义一个char[]数组来存放这些数据,
显示时直接输出字符来显示就可满足要求。
追问
10要怎么放进去,存放数字10显示出来是0
追答
一个char只有一个byte,所以10是由1和0两个char组成,
所以要用两个数组元素来储存才行。
这个输出时要连续输出两个元素来显示10这两个字符。
也可给10定义为一个一个特别的标志如‘X’(罗马字符10)之类的字符,
输出时遇到这个字符,就把输出内容转成“10”这个字符串来输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用char []就可以,
比如 char a[] = {'A','1','2','3',......‘\0’};
输出也很容易
printf("%s",a);
数字10是显示0的,因为char是一个字节,而10占用了两个字节,所以将低字节输出了。
给你一种方法:是一种投机取巧的方法。
char a[] = {'A','1','2'...'0'+10,'J','K',...'\0'};
输出时
int m = 10;
for(int i = 0;i<14;i++)
{
if(a[i]==":")
{
printf("%d",m);
}
else
printf("%c",c+i);
}
比如 char a[] = {'A','1','2','3',......‘\0’};
输出也很容易
printf("%s",a);
数字10是显示0的,因为char是一个字节,而10占用了两个字节,所以将低字节输出了。
给你一种方法:是一种投机取巧的方法。
char a[] = {'A','1','2'...'0'+10,'J','K',...'\0'};
输出时
int m = 10;
for(int i = 0;i<14;i++)
{
if(a[i]==":")
{
printf("%d",m);
}
else
printf("%c",c+i);
}
更多追问追答
追问
c是定义哪个
追答
写错了,是a
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询