㈠ C语言怎样将单个字符转化为整型字符
#include<stdio.h>
#include<stdlib.h>
#include
<string.h>
int
c[20];
char
b[20];
int
_tmain(int
argc,
_TCHAR*
argv[])
{
char
temp[2];
gets(b);
temp[0]
=
b[1];
temp[1]
=
'\0';
c[1]=atoi(temp);
printf("%c\n",b[1]);
printf("%d\n",c[1]);
return
0;
}
你用atoi(&b[1]),实际上相当于atoi("234"),返回的结果当然是234,
如果你需要单个字符的转换,就需要自己手回动构建个含有单个字符的字答符串,temp就是做这事的。
㈡ c语言中字符型转化为整型
{
char
s[30]
=
{0};
/*这里的30,通常来说够一个整数的长了,不够自己改*/
char
s2[30]
=
{0};
int
i
=
0;
int
number;
int
cnt
=
0;
int
tmp
=
0;
number
=
xxxxxx;
/*
你要转的数,如果是函数,可以内作为传入数
*/
for(i=0;i<30;i++)
{
tmp
=
number
-
(number
/
10)
*
10;/*
取最后一位数字容
*/
s2[i]
=
(char)(tmp
+
30);
/*
字符0对应的ascii值为30,类推
*/
number
/=
10;
cnt++;
if(number
==
0)
break;
}
for(i=cnt-1;
i>=0;
i--)
{
s[i]
=
s2[cnt-i-1];
/*
转向
*/
}
printf(s);
printf("\n");
}
㈢ c语言怎么将二进制的字符串转化为整形,
/*
*/
#include<string.h>
#include<stdio.h>
#include<math.h>
intconvert(char*);
intmain(void)
{
char*buf="10110110";
intres=0;
res=convert(buf);//函数调用
printf("%s-->%d ",buf,res);
}
//二进制字符串转化为十进制
intconvert(char*buf)
{
inti=0;
intlen=8;//确定是8位?否则求长度
intres=0;
for(i;i<len;i++){
if(!(buf[i]=='0'||buf[i]=='1')){
printf("invalidbuffer! ");
return256;//不是01字符串直接返回
}
res+=(buf[i]-'0')*pow(2,len-i-1);//计算该字符串对应十进制的值,pow()求幂
}
returnres;
}
不太明白你的意思,不知道你是不是求十进制,这个可以得出对应十进制的数值。
㈣ c语言中如何将一个字符ascii码转换为整型数
for循环的错误,不能让他加到80.i<strlen(str);并且gets的用法也有错误,它会直接加‘\0’,不用自己内加吧容
你的程序写的有点繁琐
#include"stdio.h"
#include"string.h"
main()
{
int i,s;
char str[80];
i=0;
s=0;
printf("input a string:");
gets(str);
for(i=0;i<strlen(str);i++)
if(str[i]>='0'&&str[i]<='9')
{
s=s*10+str[i]-'0';
}
printf("%d",s);
printf("\n");
getchar();
}
㈤ C语言怎么把字符串转化为整形数字 是-'0'吗
好吧
我给你看抄看我的程序吧
#include<stdio.h>
#include<cstring>
int main()
{
char zifu[80];
int shuzi[80];
gets(zifu);//你的gets用对了哦
for(int i=0;i<strlen(zifu);i++)//由于字符数组下表从0开始 所以是0
{//同时strlen(zifu)是zifu数组的字符数量 如果用80会有空字符的哦
shuzi[i]=zifu[i]-'0';//是-'0' 也可以写成-48
}
for(int i=0;i<strlen(zifu);i++)
printf("%d",shuzi[i]);
return 0;
}
㈥ C语言字符转换成整形。
转换有两种方法:
第一种用“atoi”的:版
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
voidmain()
{
charstr[1024]={0};
intInterger;
printf("输入权一个数字: ");
scanf("%s",str);
Interger=atoi(str);
printf("转换为整形:%d ",Interger);
getch();
}
第二种:
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
voidmain()
{
charstr[1024]={0};
intInterger;
printf("输入一个数字: ");
scanf("%s",str);
sscanf(str,"%d",&Interger);
printf("转换为整形:%d ",Interger);
getch();
}
㈦ c语言 字符串转换成整型(我是菜鸟请简单一些!谢谢!)
a是一个字符串数组
直接通过(int)a得不到你输入的值
你输入的值是一个一个的赋值到字回符串数组的 比如说 12
其中a[0] =1
a[1]=2; a[2]='\0' 其中'\0'代表答字符串的结束
就是这样存放的
你可以这样做:
#include<stdio.h>
#include <memory.h>
void main()
{
printf("请输入字符串:\n");
char a[100];
memset(a,0,100);
scanf("%s",a);
for (int i=0; a[i]!='\0' && i < 100; ++i)
{
printf("%d",(int)a[i]-48);
}
}
其中的memset是用来清空a字符串数组的
㈧ c如何将字符1转换为整型数1
c如何将复字符1转换为整型数制1:
第一种:用数字字付出减去'0'即'1'-'0'(它俩是用ASCII码相减的即49-48=1)。
第二种:用数字字付出减去48(48是‘0’的ASCII码)即'1'-48=1。
例如想把‘2’转为2
int k;
char b='2'
k=b-48或k=b-'0'
㈨ c语言如何将字符串强制转换为整型如"162837"转化为162837
使用atoi函数转换。头文件位于stdio.h。
实例专参考:属
#include <stdio.h>
#include <stdlib.h>
char x[10]={'1','6','2','8','3','7','\0'};
int main(void)
{
int y=atoi(x);
printf("This is a string.\n");
printf("%s\n", x);
printf("This is a number.\n");
printf("%d\n", y);
system("pause");
return 0;
}
㈩ c语言 字符型转换成整型
字符串转成整型可以使用atoi函数。
函数原型:int atoi(const char *nptr);
功能:把字符串转换成整专型数。
参数nptr字符串,属如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。否则,返回零。
(10)c语言怎么将字符转为整形扩展阅读:
整型转换成字符型使用itoa函数。原型:extern char *itoa(int i);
参考代码:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta=125;
charb[50];
printf("%s ",itoa(a,b,10));//把10进制的125转成字符并输出。
return0;
}
/*