C语言怎么把字符串转化为整形数字 是-✀0✀吗

2024-11-18 00:12:06
推荐回答(5个)
回答1:

好吧
我给你看看我的程序吧
#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;i printf("%d",shuzi[i]);
return 0;
}

回答2:

  第一种用“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();
  则瞎}

回答3:

好吧  我给你看看我的程序吧

#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;i printf("%d",shuzi[i]);
 return 0;
}

回答4:

看你允不允许使用库函数了,或者是要自己编程来实现这个功能,如果是为了简单使用那么用库函数atoi()即可,比如char
*c="123";那么int
k=atoi(c);这样k的话就是123了伍宴,如果是编程来做,那昌橘纯么可以从字符串结束符\0的前1个耐咐开始回退,没退一次则系数*10,不过这样的话还需要检测非法输入等情况如何处理。

回答5:

for循环里罩差你没有判断字符串结束,把字符串后面衡凯的也咐闷唤加进去了。

for(i=0;s[i]!='\0';i++){
number[i]=s[i]-'0';
n=n*10+number[i];
}