好吧
我给你看看我的程序吧
#include
#include
int main()
{
char zifu[80];
int shuzi[80];
gets(zifu);//你的gets用对了逗孝哦
for(int i=0;i
shuzi[i]=zifu[i]-'0';//是-'0' 也可以写成-48
}
for(int i=0;i
return 0;
}
第一种用“atoi”的:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
char str[1024] = {0};
int Interger;
printf("输入一个数字:\n");
scanf("%s", str);
孙轿空 Interger = atoi(str);
printf("转换为整形:%d\n", Interger);
getch();
}
第二种:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
char str[1024] = {0};
int Interger;
printf("输入一个数字:\n");
scanf("%s", str);
帆搏 sscanf(str, "%d", &Interger);
printf("转换为整形:%d\n", Interger);
getch();
则瞎}
好吧 我给你看看我的程序吧
#include
#include
int main()
{
char zifu[80];
int shuzi[80];
gets(zifu);//你的gets用对了哦
敬正慧for(int i=0;i{//同时strlen(zifu)是zifu数组的字符数量 如果用80会有空字符清念的哦
shuzi[i]=zifu[i]-'0'亮答;//是-'0' 也可以写成-48
}
for(int i=0;iprintf("%d",shuzi[i]);
return 0;
}
看你允不允许使用库函数了,或者是要自己编程来实现这个功能,如果是为了简单使用那么用库函数atoi()即可,比如char
*c="123";那么int
k=atoi(c);这样k的话就是123了伍宴,如果是编程来做,那昌橘纯么可以从字符串结束符\0的前1个耐咐开始回退,没退一次则系数*10,不过这样的话还需要检测非法输入等情况如何处理。
for循环里罩差你没有判断字符串结束,把字符串后面衡凯的也咐闷唤加进去了。
for(i=0;s[i]!='\0';i++){
number[i]=s[i]-'0';
n=n*10+number[i];
}