c语言如何判断输入的是整数还是字符串

如题所述

1、挨着判断每个字符的ASCII值是否在0~9之间。
2、例程:
#include <string.h> //strlen()需要的头文件
#include<stdio.h>
//#include "stdafx.h"
#define n 100
int main(int argc, char* argv[])
{
printf("*******************第八单元 函数 判断一串字符串是否全为数字*********************");
char a[n];
int isnumber(char a[n]);
printf("请输入一串字符串:\n");
scanf("%s",a); //输入字符串,给定首地址就行,a表示字符数组首地址
isnumber( a); //实参,数组实参给首地址
printf("Hello World!\n");
return 0;
}
int isnumber(char a[n]){
int len = strlen(a);
int j =0;
for(int i =0;i<len;i++) //遍历整个字符串
{
if(a[i]<=57&&a[i]>=48) //0~9的ASCII码是48~57
{j++;} //找到数字了就数量++
}
//数字总数和字符串长度一样,则全是数字,总数为0,则都不是数字,在0~len之间则有部分是数字
if (j==len){
printf("全为数字");
}
else if(j == 0){printf("全不为数字");}
else{
printf("不全为数字");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答