只用getchar函数读入一个整数

用getchar函数读入一个整数。假设它占据单独的一行,读到行末为止,包括换行符。输入保证读入的整数可以保存在int中。

两种方法:

#include <stdio.h>
int main()
{
  int a[100],n=0,i=0;
  while((a[i]=getchar()) && a[i]!='\n')
  {  <span style="color: rgb(102, 102, 102); font-family: SimSun, 宋体, "Arial Narrow"; font-size: 13px; line-height: 19.5px;"></span><pre name="code" class="cpp">    n=n*10+a[i]-'0';

i++; } printf(“%d\n”,n); return 0;}

这里n=n*10+a[i]-‘0’;是关键。

#include <stdio.h>
#include <stdlib.h>
#define MAX 1000+10
char a[MAX];
int main(void)
{
  int i,m;
  char c;
  for(i=0;i<MAX;i++)
  {
    if((c=getchar())!='\n') 
      a[i]=c; 
    else 
    {
      a[i]=0;
      break;
    }
  }
  m=atoi(a);
  printf("%d\n",m);
  return 0;
}

用了atoi函数,将字符转化为数字。

点赞