技术社区

字符串转整数 为什么到三位数以上 就输出乱码
006 | 发表于: 2020-02-07 回答

3位数以内正常
应该如何修改 可以输出到7位数

#include <stdio.h>
#include<string.h>  
char a[7];
int b[7];int c[7];
int main()
{int n;
 int i,j,t,s;t=0;memset(c,10,sizeof(c));
 gets(a);
 s=strlen(a);j=0;
 for(i=s-1;i>=0;i--)
 {  b[i]=a[j]-'0';j++;//倒过来存 
 } 
  for(j=s-1;j>1;j--)
  { for(t=0;t<j-1;t++)
 { c[j] =c[j]*10;   }//如c[ 2]=100;c[3]=1000; 
  } c[0]=1;n=0;c[1]=10;
  for(i=s-1;i>=0;i--)
  { n=(b[i]*c[i])+n;
  }


  printf("%d",n) ; return 0;
}

求解

回复列表