㈠ 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語言如何將字元串強制轉換為整型如"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語言怎麼把字元串轉化為整形數字 是-'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函數。
函數原型:int atoi(const char *nptr);
功能:把字元串轉換成整型數。專
參數nptr字元串,如屬果第一個非空格字元存在,是數字或者正負號則開始做類型轉換,之後檢測到非數字(包括結束符 ) 字元時停止轉換,返回整型數。否則,返回零。
(4)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;
}
/*
㈤ C語言字元轉換成整形的方法是什麼
兩種方法:一種是使用使用atoi函數。第二種是使用格式化輸出。
atoi函數:函數原型版:int atoi(const char *nptr);
功能:把權字元串轉換成整型數。
參數nptr字元串,如果第一個非空格字元存在,是數字或者正負號則開始做類型轉換,之後檢測到非數字(包括結束符 ) 字元時停止轉換,返回整型數。否則,返回零。
㈥ 如何用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;
}
/*
(6)c語言怎麼樣能把字元轉化為整形擴展閱讀:
注意事項
itoa() 函數有3個參數:第一個參數是要轉換的數字,第二個參數是要寫入轉換結果的目標字元串,第三個參數是轉移數字時所用的基數(進制)。在上例中,轉換基數為10,就意味著以10為轉換進制。10:十進制;2:二進制。
itoa 並不是一個標準的C函數,它是Windows特有的,如果要寫跨平台的程序,請用sprintf。
標准庫中有sprintf,功能比這個更強,用法跟printf類似:
㈦ 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語言中字元型轉化為整型
強制類型轉換是通過類型轉換運算來實現的。
其一般形式為: (類型說明符) (表達式)
其功能是把表達式的運算結果強制轉換成類型說明符所表示的類型。
例如: (int) a 把a轉換為整型
㈨ 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語言怎樣將單個字元轉化為整型字元
#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就是做這事的。