【C】C语言判断字符串是否是int型正整数
文章目录
【C】C语言判断字符串是否是int型正整数
前言
此程序功能主要是实现:判断在CMD下输入的字符串是是否是int型的正整数。
在判断字符是数值时还可以了解一下isdigit()函数
,可以参考:https://blog.****.net/Jiajikang_jjk/article/details/85944714
一、代码
/*
程序功能:
判断输入的字符串是否是int型正整数型
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int chk_data(char *num);
#define SIZE 100
int main(void)
{
char str[SIZE]; //定义一个大小为SIZE的char型数组
while (1)
{
printf("input :");
scanf("%s", str);
if (chk_data(str) == 0)
{
printf("输入数据错误,请重新输入!\n");
}
else
{
printf("是数值\n");
break;
}
}
printf("%d\n", atoi(str));
}
// 子函数
int chk_data(char *num)
{
int i;
for (i = 0; num[i]; i++) // 遍历形参num(传入实参的大小)
{
if (num[i] > '9' || num[i] < '0') //只要有非数字,就返回错误
{
printf("传入值含有非数值\n");
return 0;
}
}
if (i > 100) //都是数字,但长度超过100位,返回错误
{
printf("超出了数字长度\n");
return 0;
}
return 1;
}