c語言字元串轉換成整數
㈠ c語言中 字元串如何轉為整型數值
在C語言中將字元串轉化成整型有兩種方法。
1 用atoi函數。
atoi的功能就是將字元串轉為整型並返回。其聲明為
int atoi(char *str);
比如atoi("1234");會返回整型1234。
要調用atoi,需要引用頭文件stdio.h
2 用sscanf。
sscanf與標准格式化輸入函數scanf類似,不過源並非是標准輸入,而是字元串。
用sscanf可以處理更復雜的字元串。
比如字元串char * str = "a=1, b=2";
定義int a,b;後
可以用
sscanf(str,"a=%d, b=%d",&a,&b);
來將a,b值提取,計算後,a=1, b=2。
要使用sscanf同樣需要引用頭文件stdio.h。
㈡ C語言字元轉數字
功能:數字字元串轉整型int,去除高位0。
注意:不要輸入超出int范圍。
#include<stdio.h>
#include<string.h>
intpw10(intm);//計算10次方
intstr2int(char*nums);
intmain()
{
charnums[]="0103456";
intnum;
printf("原字元串:%s
",nums);
num=str2int(nums);
printf("轉成整型後的數字為:%d
",num);
return0;
}
intpw10(intm)//計算10次方
{
inti,mu=1;
if(m==0)
return1;
for(i=0;i<m;i++)
mu=mu*10;
returnmu;
}
intstr2int(char*nums)
{
char*p=nums;
intlen=strlen(nums),i,m=0,sum=0;
while(1)//去高位0
{
if(*p=='0')
p++;
else
break;
}
for(i=len-1;&nums[i]>=p;i--)
sum=sum+(nums[i]-'0')*pw10(m++);
returnsum;
}
㈢ C語言:把數字字元串轉換成整型數字
程序如下:
若輸入字元串"ab56cd87",則輸出結果:以%d格式輸出十進制整數5687;若輸入字元串"-ab56cd87",則輸出結果:以%d格式輸出十進制整數-5687。
(3)c語言字元串轉換成整數擴展閱讀:
C語言高效編程技巧:
一:以空間換時間
計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題
二:數學方法解決問題
數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。
三:使用位操作
實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。
在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。
㈣ C語言中字元串和整數小數相互轉換的函數都有什麼
字元串轉換函數如下:
字元串轉換為整數 atoi
2.字元串轉換為長整數 atol
3.字元串轉換為浮點數 strtod
4.字元串轉換為長整數 strtol
5.字念塵符串轉換為無符號長整型 strtoul