如何将字符串转换为整型数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将字符串转换为整型数?相关的知识,希望对你有一定的参考价值。
可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。
字符串实际长度可以用strlen函数来计算。
方法程序如下:
#include<stdio.h>
#include<string.h>
main()
char a[10];int i,j;
scanf("%s",a);
j=strlen(a);
for(i=j-1;i>=0;i--)
printf("%c",a[i]);
printf("\\n");
扩展资料:
C语言高效编程技巧:
一:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题
二:数学方法解决问题
数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。
三:使用位操作
实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。
参考资料来源:百度百科-C语言
参考技术A 可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。字符串实际长度可以用strlen函数来计算。
keil c中如何把字符串转化为整型 具体一点
参考技术A 可以使用sscanf,就像sprintf将整型数转换成字符串输出一样,逆运算(KEILC中scanf和printf确定了通过单片机串行口完成输入输出模式,除非做了修改,一般实际中不用)。给你个例子:
unsigned
char
string[5]="1234";
unsigned
int
n;
sscanf(string,"%u",&n);
//string是字符串,%u是格式控制串,u是无符号十进制数,&n是变量n的地址。
printf
("%d\n",n);
//可在KEIL
C
开发环境中输出观察
你可以把上面这部分代码放到KEIL
C中的HELLO.C程序中观察验证一下。
关于格式控制串(也就是“%u”等),可以查看一下KEIL
C的相关资料,与PC机的C语言略有不同。可以根据不同的要求转换成8进制、16进制、int型、long型等数据,相关符号有一二十种,此处就不细说了。 参考技术B 先说明你为什么想要这样转换。
简单来说用强制类型转换逐个复制到缓冲区中就行。 参考技术C 这问题有点那啥
在一定程度上,其实是可以把字符串理解为数组的,如果你只是要将字符串中的字符一一转化成整型,那只需要这样:
(用lylxy1965的例子)
unsigned
char
string[5]="1234";
unsigned
int
n;
for(
int
i=0;
i<
strlen(string);
i++)
n
=
string[i];
//此时n的值将为“1234”所对应的ASCII码,如string[0]时,n=0x31
//把n拿来处理
如果你是要将字符串中的字符一一转换成其对应的数值,那就在上述循环中加入范围限制和运算即可实现如string[0]时,n=1这样的效果来
关键是你需要什么
以上是关于如何将字符串转换为整型数?的主要内容,如果未能解决你的问题,请参考以下文章