1. C语言:把数字字符串转换成整型数字
程序如复下:
若输入字符串"ab56cd87",则输出制结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。
(1)c语言怎么将字符串转化成整形扩展阅读:
C语言高效编程技巧:
一:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题
二:数学方法解决问题
数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。
三:使用位操作
实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。
2. 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;
}
3. 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;
}
4. C语言中关于字符串转整型
字符串转成整型可以使用atoi函数。
函数原型:int atoi(const char *nptr);
功能:把字符串转换成整型数。
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。否则,返回零。
参考代码:
#include<stdlib.h>
#include<stdio.h>
intmain()
{
intn;
char*str="12345";
n=atoi(str);
printf("%d ",n);
return0;
}
/*
运行结果:
12345
*/
5. 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();
}
6. c语言 字符型转换成整型
字符串转成整型可以使用atoi函数。
函数原型:int atoi(const char *nptr);
功能:把字符串转换成整型数。专
参数nptr字符串,如属果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。否则,返回零。
(6)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;
}
/*
7. 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;
}
不太明白你的意思,不知道你是不是求十进制,这个可以得出对应十进制的数值。
8. C语言字符转换成整形的方法是什么
两种方法:一种是使用使用atoi函数。第二种是使用格式化输出。
atoi函数:函数原型版:int atoi(const char *nptr);
功能:把权字符串转换成整型数。
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。否则,返回零。
9. 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字符串数组的
10. 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就是做这事的。