关于C语言中的字符比较!!

怎么让程序在用户端输入的字符是否是某个字符?如我在用户窗口输入了一个字母a,怎样让程序判断是这是程序要求的字母,并根据这个输入而调用相关的函数?补充:我知道怎样从用户端输... 怎么让程序在用户端输入的字符是否是某个字符?如我在用户窗口输入了一个字母a,怎样让程序判断是这是程序要求的字母,并根据这个输入而调用相关的函数?
补充:我知道怎样从用户端输入字母~~getchar 和scanf都可以吧.重点在于if判断那里~~好像老是出错,用的就是平常在整型数据做判断时的方法,是不是字符和整型数据有差距呢?能否给个小例子提点一下?比如,输入a的时候就调用计算圆面积的函数,输入p的时候就调用计算圆周长的函数.
展开
 我来答
cwc_2009
推荐于2016-07-24 · TA获得超过304个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:188万
展开全部

#include <stdio.h>

int main(void)

{  

 char c = getchar();

 if(c == 'a')//也可以是0x61,因为0x61是字符a的ASCII码,可以从ASCII码表中查

 {

  printf("//TODO\n");

 }

 else

 {

  printf("//NOTTODO\n");

 }

 return 0;

}

帐号已注销

2021-06-01 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.7万
采纳率:79%
帮助的人:1159万
展开全部
1、定义一个char * 类型指针,指向字符串首字符首地址。

2、定义一个数组,数组里存放元素为字符串各个字符+'\0',其中'\0'为码0值,编译器会自动在字符串的末尾添加此值。

先看这两个"变量"分别是存在内存的哪个区域,(后面可知string1为常量)修改代码如下,打印这两个“变量”的内存地址,查看运行结果:

查看进程的内存分布情况,(详情请查看:RobotCode俱乐部:手撕虚拟内存(1)——字符串在虚拟内存中的段位置与/proc虚拟文件系统),string1内存首地址为0x80485a0,string2内存首地址为0bfaebfd8。如下图,可知这两种定义方式,一种位于只读区(0x8048000 < 0x80485a0 < 0x8049000),一种位于Stack区(0xbfacd000 < 0bfaebfd8 < 0xbfaee000)。可知,string1为常量(只读的,权限为r),在编译时就确定了。string2存放在栈上,运行时确定。这也决定了,定义string1的方式适用于定义字符串常量,string2方式适用于字符串变量可能需要被修改的情况。同时需要注意的是,未必定义在函数体里的“变量”都会分布在栈上,如这里的字符串常量,及static修饰的局部变量,他们都是分布在全局静态区,由编译器在编译时决定,而非函数运行时动态分配。另外全局静态区的变量生命期与整个进程的生命期相同,大于等于函数的生命期。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jseven_jy
推荐于2018-02-28 · TA获得超过8123个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1346万
展开全部
如果是字母的话,用==就可以比较的

比如程序要求的字母是a : char ch = 'a';
用char c接收用户输入的字母: c = getchar();
if(c==ch) 调用相关函数

不知道是不是你想要的。。。希望能帮到你。。。仍有问题可以HI我。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssilspro
2011-04-21 · TA获得超过2626个赞
知道大有可为答主
回答量:1148
采纳率:0%
帮助的人:1837万
展开全部
字符可以直接比较
字符常数注意使用单引号 :‘c’
char c;
...
switch(c){
case 'a':
break;
case 'b';
break;
default:
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingjienet
2011-04-21 · 超过10用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:52.6万
展开全部
调用getchar()函数,然后用if进行判断啊…………
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式