C语言中 怎么转换char到int c语言中,怎样把内容为数字的char转换为int?

C\u8bed\u8a00\u4e2d \u600e\u4e48\u8f6c\u6362char\u5230int

\u5982\uff1a
char a = 'A'
\u90a3\u4e48\u6267\u884c\u5982\u4e0b\uff1a
int b = a;
\u90a3\u4e48\u6b64\u65f6\u7684b = 65\uff0c\u5c31\u662f\u628achar\u8f6c\u5316\u4e3aint\u4e86\u3002\u5c06int\u8f6c\u5316\u4e3achar\u65b9\u6cd5\u540c\u4e0a~~\u4f46\u662f\u8981\u6ce8\u610f\u7684\u662f\u5185\u5b58\u7684\u4e00\u51fa\u95ee\u9898~\u6700\u597d\u522b\u505aint\u8f6c\u5316\u4e3achar\uff0c\u56e0\u4e3a\u5728\u5f53\u4eca64\u4f4d\u7cfb\u7edf\u4e0b\uff0cchar\u662f1\u4e2a\u5b57\u8282\uff0c\u800cint\u662f2\u4e2a\u5b57\u8282~\u4ece2\u4e2a\u5b57\u8282\u8f6c\u5316\u4e3a\u4e00\u4e2a\u5b57\u8282\u4f1a\u51fa\u73b0\u5185\u5b58\u6cc4\u6f0f~~\u4f46\u662f\u4ece1\u4e2a\u5b57\u8282\u8f6c\u5316\u4e3a2\u4e2a\u5b57\u8282\u662f\u6ca1\u6709\u95ee\u9898\u7684\uff0c\u53ea\u662f\u6709\u5185\u5b58\u6d6a\u8d39~

\u5185\u5bb9\u4e3a\u6570\u5b57\u7684char\uff0c\u5305\u542b
0,1,2,3,4,5,6,7,8,9
\u5171\u8ba110\u4e2a\u5b57\u7b26\u3002
\u8fd9\u5341\u4e2a\u5b57\u7b26\u5728\u5b58\u4e3a\u5b57\u7b26\u578b\u65f6\uff0c\u5176\u5b58\u50a8\u503c\u4e3a\u5bf9\u5e94\u7684ascii\u7801\uff0c\u800c\u8fd9\u4e9bascii\u7801\u662f\u8fde\u7eed\u7684\uff0c\u4e14\u6309\u7167\u5176\u672c\u8eab\u6570\u5b57\u7684\u5927\u5c0f\u6765\u6392\u5217\u3002
\u8fd9\u6837\u5c31\u53ef\u4ee5\u5c06\u5b57\u7b26\u503c\uff0c\u51cf\u53bb\u8d77\u59cbascii\u7801\u503c\u5b9e\u73b0\u8f6c\u4e3a\u5bf9\u5e94\u503c\u7684\u6548\u679c\u3002
\u8bbe
int a; //\u8f6c\u6362\u7684\u76ee\u6807\u53d8\u91cf\u3002
char c = '7'; //\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u3002
c = a - '0';
\u8fd9\u6837\u5f97\u5230\u7684\u5c31\u662f\u5bf9\u5e94\u7684\u503c\u4e86\uff0c\u5373c = 7\u3002
\u5982\u679c\u5728\u6587\u4ef6\u4e2d\u9700\u8981\u591a\u6b21\u8be5\u64cd\u4f5c\uff0c\u5219\u53ef\u4ee5\u5b9a\u4e49\u4e00\u4e2a\u5e26\u53c2\u5b8f\uff0c\u5982\u4e0b\uff1a
#define chartonumber(x) (x-'0')
\u8fd9\u6837\u53ea\u9700\u8981\u8c03\u7528
c = chartonumber(a);
\u5373\u53ef\u5b9e\u73b0\u6548\u679c\u3002

啥意思,如果是简单的转换,上楼的已经说得很详细了
如果是一个字符串的转换,比如“1234”这个字符串的转换,那么有函数
atoi(),你自己google一下这个函数的用法,很简单的。
int atoi ( const char * str ); //Convert string to integer

兄弟是不是想做求表达式呀,也就是说当你遇到到一个”1“时他是字符,把它转换为数字,是吧,我用的方法是int(a)-int(0)这样就能得到相应的数字了。

sprintf(uc,"%d",val);
得到的是字符串,而函数类型是unsigned
char
‘字符型’

是楼上说的,用强制转换类型,课本上都有的

强制转换
char a='a';
int b=(int)a;

扩展阅读:char转换成int型 ... 转换器 ... c语言char强制转int ... c语言代码char改int ... char转换成int方法 ... c语言中putchar 的功能 ... javachar强制转换int ... c语言getchar 头文件 ... c语言怎么把char转换为int ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网