C语言 在不知道用户输入的是字母还是数字的情况下 用int 还是char呢?

如题所述

我想在这里决定输入数据类型,会需要考虑两个问题:
1、输入的数据是一个字符?还是会有多个字符?
2、输入的数据在程序里是起什么作用的?

在需要接受用户不确定输入类型的前提下,
如果只需要输入一个字符或者一个数字,使用int类型比较简单,不容易发生错误,使用单个字符变量,输入缓冲区里的字符有时候会对输入产生影响。但此时获取到的是字符内码,作为字符应用时需要按内码处理。而且在程序内,仅仅根据获取到的数据,很难区分获取到的是以一个两位以上的数值还是一个字符内码。
如果输入的是多个字符或者是两位以上的数字,那么使用字符数组的比较方便,不容易出错。但对于需要进行计算的数值要利用系统函数进行字符到数值的转换。当然这时输入的数据仅仅是一位数字或一个字符,也是完全能够正确的获取和判断区分的。
所以综合考虑,我自己觉得还是应用字符数组接受输入信息比较可靠和灵活。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-23
你接收到的都是字符,需要你自己判断这些字符是字母,数字还是控制符等。

...在不知道用户输入的是字母还是数字的情况下 用int 还是char呢?
在需要接受用户不确定输入类型的前提下,如果只需要输入一个字符或者一个数字,使用int类型比较简单,不容易发生错误,使用单个字符变量,输入缓冲区里的字符有时候会对输入产生影响。但此时获取到的是字符内码,作为字符应用时需要按内码处理。而且在程序内,仅仅根据获取到的数据,很难区分获取到的是以一个...

C语言:如何判断输入的是数字还是其他字符
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。至于怎么判读是字母还是数字,很简单,假设字符c,满足 (c>='a'&& c<='z')|| (c>=...

在C语言中怎样判断一个变量是字符还是数字
1. 检查变量的类型定义。在C语言中,变量必须声明其类型。因此,可以通过检查变量声明时使用的类型关键字来判断它是否为字符或数字。例如,使用`char`声明的是字符变量,而使用`int`声明的是数字变量。2. 输出变量的ASCII码值。每个字符在ASCII码表中都有对应的数值。可以通过将变量转换为其ASCII码值来...

如何区分输入的是数字还是字母?如:11和字母a怎么用c语言区分。_百度知 ...
int t='a';没有任何区别,将int换成char、double等都一样 也就是说,输入 数字 或ACSII码对应的字母对之后的 代码 没有影响 另一方面,如果要区分输入的是字母还是数字,可以用getchar()函数,将数字11识别为由两个‘1’组成的字符串,将字母a识别为字符‘a’。这样就能由acsii码区分哪个是数...

c语言如何判断输入的是数字还是字符
1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。2、其次,在test.cpp文件中,输入C语言代码:char a = getchar(); getchar();if (a <= '9' && a >= '0') printf("数字");else printf("字母");3、然后,编译器运行test.cpp文件,输入数字,此时会成功判断输入...

c语言中如何判断输入的是字符还是数字
可以使用代码进行判断:include<stdio.h> intmain(){ charc;while(scanf("%c",&c)!=EOF){ getchar();if(c>='0'&&c<='9')printf("%c是数字\\n",c);elseif(c>='a'&&c<='z'||c>='A'&&c<='Z')printf("%c是字母\\n",c);elseprintf("%c是特殊字符\\n",c);} return0;}...

C语言怎么判断输入的是数字还是字符
你是知道自己想要输入的是字符还是数字,对吧?如果是这样,你就加一个标志符,用来判断输入的东西是不是你要的。int flag;flag = scanf("%d",&n);if(flag==1) printf("right\\n");else printf("wrong\\n");flag = scanf("%d",&n); \/\/送返成功读入的数据个数。输入字母,flag为0...

c语言中定义了一个int,为何我输入了一个字母或者其他字符,会认为它是数...
这是因为在输入了一个字母或者其他字符的时候,电脑会自动识别转换为对应的ASCII码输入程序。ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及...

如何判断输入的字符是数字,字母还是其他字符 C语言
用c函数, isdigit判断是否是数字,isalpha判断是否为字母,在ctype.h文件里面,还有其他判断函数。

在C中如何判断输入的一个数是整数还是字符?
也就是说,字符就是数字,数字就是字符,只不过有些数字对应的字符无法显示在屏幕上,例如数字0对应'\\0',它就显示不出来...又例如,输入数字97,谁知道是字母a还是数字97~~~谁也判断不出来,人家C语言就这样存储字符的,要怪就怪美国的贝尔实验室,谁叫它这么开发的C呢~...

相似回答