C语言char类型的123怎么转换成 int类型的123?

串口接受的数据是char类型的a ,要怎么转换为int类型并且值不变。

例如:

char* a;
int b;
*a=SBUF; //假如接收到的a的值是123 (也就是 a="123")

/**
*
*这里要怎么写,其他能达到同样效果的方法也行
*
**/

b=a; //此时b的值也是123

第一:a应该是 char* 或者是 char a[]类型,不应该是 char类型吧
第二:如果是char* 类型的话或者char a[]类型则可以使用以下代码转换成整数
int charsToInt(char *a,int length){
int res = 0;
for(int i = 0;i<length;i++){
int temp = a[i] - '0';
res = res*10+temp;

}
return res;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-26
第二:如果是char* 类型的话或者char a[]类型则可以使用以下代码转换成整数
第2个回答  2019-06-26
b=(*a-'0')*100+(*(a+1)-'0')*10+(*(a+2)-'0')*1;
a定义为char型,1、2、3分别以ASCLL码储存在a对应的地址后,而b为整型,因此减去0的ASCLL码值。
第3个回答  2019-06-26
atoi()字符串转int
类似的还有 atof等
第4个回答  2019-06-25
1楼说得对。

C语言char类型的123怎么转换成 int类型的123?
char a;int b;a=SBUF;\/\/假如接收到的a的值是123(也就是a="123")所谓a="123",这是不可能的(这个字符串需要4个字节才能保存,而a只有一个字节)。如果是char a;a=123;则a中保存的是一个字符的ASCII值,即a的值是一个字符(也就是字符'{')。如果想要让它转换为int型的123,是非常...

c语言,用循环的方法将字符串“123”转化成数字123,应该怎样写?
C语言中可以调用atoi()函数将字符串数字转换成整型数,所需要头文件为stdlib.h 函数原型:int atoi( char *s) ;函数说明:将字符串s转换为整型值,返回给调用者。参考代码:相关函数还有:atof():将字符串转换为双精度浮点型值。atol():将字符串转换为长整型值。strtod():将字符串转换为双精度...

C语言中怎么将字符123转化成数字123?
例如: char str[10] = "123";int dd = atoi(str);printf("%d\\n",dd);\/\/123

char*怎样转成int
可以通过使用库函数atof或者strtol等实现将char*转换为int。详细解释如下:使用atof函数转换 在C语言中,atof函数是一个标准库函数,用于将字符串形式的浮点数转换为双精度浮点数。虽然它返回的是double类型,但你可以将结果强制转换为int类型。如果字符串表示的数值是整数,使用atof并强制转换是可以工作的。...

C语言 代码 把字符串的123转成整形123
voidhex2ascii(intx,char*s){*s++=x\/0x1000000;*s++=x\/0x10000%0x100;*s++=x\/0x100%0x100;*s=x%0x100;}

怎么把char转成int
char转成int的方法:C语言中char类型本身就是整型类数据变量,可以直接赋值给int变量。char占一个字节内存空间,可表示的有符号数为-128~127,无符号数0~255。C语言中字符是按其ascii值进行存储的,如,字母‘a’,其实际存储在内存中的数据为97,只是在输出时,因格式串的不同,表现出来的形式不同...

c语言char型字符串转换成int型字符串
1、把char型转换成int类型。for(int i=0;i<str.length();i++){ char temp_char=str.charAt(i);\/\/把字符转换成数字方法一 int temp_int=temp_char-'0';\/\/把字符转换成数字方法二 int temp_int=Integer.parseInt(String.valueOf(temp_char));} 第一种办法:通过charAt(i),把字符串的...

c语言中,怎样把内容为数字的char转换为int?
设 int a; \/\/转换的目标变量。char c = '7'; \/\/要转换的字符。c = a - '0';这样得到的就是对应的值了,即c = 7。如果在文件中需要多次该操作,则可以定义一个带参宏,如下:define chartonumber(x) (x-'0')这样只需要调用 c = chartonumber(a);即可实现效果。

求在C语言中把整形123转换成字符串“123”,请教我简单点的,谢谢!
include<stdio.h> void main(){ int n=123;int a,b,c;a=n\/100;b=(n\/10)%10;c=n%10;printf("%c%c%c\\n",a+48,b+48,c+48);} 以 ASCII输出,可以查ASCII码表别说你看不懂!!

在c++中char类型的数组里边装的是数字,如何转换为int类型?
cha和rint数组转换,例:intI[2]={1,2} charc[2]={1,2} 两者转换代码:inta[2]={1,2};charc[2];for(inti=0;i<2;i++)c[i]=a[i];Int是将一个数值向下取整为最接近的整数的函数,为取整函数。

相似回答