在做一道数组的C语言题目中遇到了这几个不同又相似的函数。
题目描述
从键盘输入一串字符,输出字符串里的数字字符数。
我一开始想用的是scanf,也没问题,可以实现,但是看到了两个不同的答案,分别用了gets();getchar();
#include<stdio.h>
int main()
{
int n=0;
char ch;
while((ch=getchar())!=EOF)
{
if(ch>=‘0’&&ch<=‘9’) n++;
}
printf("%d",n);
return 0;
}
#include “stdio.h”
int main()
{
char a[100];
int i,t=0;
gets(a);
for(i=0;a[i]!=’\0’;i++)
{
if(a[i]>=‘0’ && a[i]<=‘9’)
t++;
}
printf("%d",t);
return 0;
}
其实归结到底就是一点,相比scanf函数,getchar不会被回车符打断,三个函数都是输入函数。