
问题描述:
我想把一个字母转换为数字,以便他用。字母是我随便输入的一个字母。怎么转换?
解析:
例
char s='a';
int b;
b=a;
printf("%d",b);
b就是97,即字母a的ASCII码,一、如果是字符串 可以用char a[5] = "J5203" ;printf("%s",a); 或者 pus(a); a 为字符串名
二、字母为单个字符 数字为int型 那么就应该是:char a='J'; int b=5203; printf("%c%d",a,b);解决方案1:
加 ‘0’ 后强制类型转换
如下程序,输入数字,转换成字符串输出
#include <stdioh>
int main(void)
{
int n,i;
char ch[100];
while(scanf("%d",&n))
{
int top = 0;
while(n > 0)
{
ch[top++] = (char)(n%10 + '0');
n /= 10;
}
for(i = top-1; i >= 0; i--)
{
printf("%c",ch[i]);
}
puts("");
}
}
解决方案2:
字符a的ASCII码值为 97
字符0的ASCII吗值为 48
‘0‘+49=’a‘
解决方案3:
使用sprintf函数可以将数字按指定格式转换成字符串,与printf函数用法差不多
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)