展开全部
'0x04';确实不对,第一,用单引号,不是一个数组,说是字符串也不对,c里面字符串不用第一号。单引号只能用在一个字符的身上。
转化的话,其实连强制转都不用
char c = 'a';
int a = c;
或者你打印的时候用:printf("%d",c);
就直接是十进制数字了
转化的话,其实连强制转都不用
char c = 'a';
int a = c;
或者你打印的时候用:printf("%d",c);
就直接是十进制数字了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
内容为数字的char,包含
0,1,2,3,4,5,6,7,8,9
共计10个字符。
这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列。
这样就可以将字符值,减去起始ascii码值实现转为对应值的效果。
0,1,2,3,4,5,6,7,8,9
共计10个字符。
这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列。
这样就可以将字符值,减去起始ascii码值实现转为对应值的效果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int i =0;
char n=NULL;
char str[10]={0};
while ( (n = getchar())!='\n')
{
str[i++] = n;
}
sprintf(str,"%d",&i);
printf("i[%d]\n",i);
return 0;
}
0x04
i[4]
Press any key to continue
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用强制类型转换就行了比如
char c ='0x04';
int i =(int)c;
char c ='0x04';
int i =(int)c;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getchar只接受一个字符,你还能输入0x04?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询