如何判断scanf()输入是int型、正整数

原创 2016年06月01日 13:35:22

scanf()也有返回值,输入正确时,返回正确读入的参数个数,且为int 型;无参数正确读入或文件末尾错误,返回0或EOF;

利用其返回值判断输入是否为int,若输入为字母、小数或其他特殊符号退出循环,代码如下:

int main(void)

{

int status, num = 1;

printf(" Please input  a integer number: \n ");

status = scanf("%d", &num);

while(status == 1)

printf(" num = %d \n ",num);

printf(" Please input another integer number: \n ");

status = scanf("%d", &num);

}

printf("Done!\n");

return 0;

}

以上代码只能判断输入为int型,可通过添加判断语句限制输入为正整数;

while(status == 1 && num > 0)



版权声明:本文为博主原创文章,未经博主允许不得转载。

scanf()函数详解

scanf()函数是所有C语言学习者在学习C语言过程中所遇到的第二个函数(第一个函数是printf(),Brian W.Kerninghan & Dennis M.Ritchie的“hello,wor...
  • luxuejuncarl
  • luxuejuncarl
  • 2007年04月23日 20:08
  • 15621

C语言scanf函数详细解释

 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(...
  • 21aspnet
  • 21aspnet
  • 2004年11月09日 16:42
  • 46111

判断scanf接收的数据是否为一组纯数字

Nov.15,2014     为了程序的健壮性,我们需要检查scanf函数接收的数据是否符合输入要求,并提示用户重新输入正确的数据。     以判断输入是否是正整数为例,有以下几种方法:   ...
  • Solomon1558
  • Solomon1558
  • 2014年11月16日 00:21
  • 1554

华为OJ 输入一个int型数据,计算出该int型数据在内存中存储时1的个数

题目: 方法1: package int存储时1的个数; import java.util.Scanner; public class Main {  public st...
  • ZJQYHT
  • ZJQYHT
  • 2014年12月13日 21:47
  • 1014

C中printf与scanf函数读取与储存参数实现办法

关于C语言中格式输入输出函数printf和scanf的参数传递以及匹配错误的原因尝试分析。...
  • qq_32386917
  • qq_32386917
  • 2015年11月06日 23:35
  • 622

scanf("%c", &c);这句不能正常接收字符的原因。(附strindex的实现程序)

#include #include int strlen(char *s);  int strindex(char *s, char *seg);  int main() { int p...
  • licui94
  • licui94
  • 2012年05月05日 10:05
  • 1034

scanf在输入整型数据和字符型数据时的不同

/*C语言中读取整型数据的小程序段*/ #include int main() { int n,i; int array[25]; while (scanf("%d",&n),n!= EOF)...
  • duqi_2009
  • duqi_2009
  • 2012年04月16日 14:12
  • 3091

double类型的变量通过scanf函数赋值时需注意的问题

希望对初学者有所帮助
  • wkddd
  • wkddd
  • 2016年09月11日 12:33
  • 919

scanf()的的返回值

在C语言中scanf()函数主要是用来读入函数的值,比如语句scanf("%d",&num),scanf函数读入一个值,并把它保存到num中。scanf()函数成功读取一个项目,它就会返回值1;如果它...
  • zhl254467014
  • zhl254467014
  • 2015年03月10日 23:07
  • 1426

C语言scanf()函数返回值的问题

不经意中发现scanf()的返回值问题,自己试验和了解了一下,一些所知与各位分享; void main()  {  int a; int b; int c; printf("请输入三个整数...
  • Linuxxulin
  • Linuxxulin
  • 2011年11月28日 09:31
  • 31427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何判断scanf()输入是int型、正整数
举报原因:
原因补充:

(最多只允许输入30个字)