下面这个c语言题为什么定义了一个int c 而不是char c

对以下程序,从第一列开始输入数据:2473,<CR>,程序的输出结果是()a668977b668966c66778777d6688766#include"stdio.h"... 对以下程序,从第一列开始输入数据:2473,<CR>,程序的输出结果是()
a668977 b668966 c66778777 d6688766
#include "stdio.h"
main()
{int c;
clrscr();
while((c=getchar()!='\n'))
{switch(c-'2')
{case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;
}
}
printf("\n");
}
我想问为什么定义了一个int c 而不是char c
我想说这道题让我看不懂的是在while((c=getchar()!='\n'))中它怎么能把数字以字符的形式赋给整形变量C
展开
 我来答
silvernii
2009-07-25 · TA获得超过3638个赞
知道大有可为答主
回答量:1667
采纳率:0%
帮助的人:1601万
展开全部
char也是整型的,只是char只有1个字节长度,能表示的数的范围比int要小很多
在这里用int和c的都是一样的
但是在涉及位运算的时候不要这么用,因为char是8位,int是16位或者32位的

补充回答:
int和char之间的转换是自动进行的,因为它们都是整型的
arill
2009-07-25 · TA获得超过3142个赞
知道小有建树答主
回答量:1328
采纳率:0%
帮助的人:898万
展开全部
字符都有对应的ASCII码,getch()赋给char c,则表示得到字符;赋给int c,表示得到ASCII码的数值。
这里可能作者为了强调说明进行加减运算操作,特意用int c。在C语言里int char都一样用 就看你printf中是%d还是%c,这个你应该知道的吧~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sskfhwcel
2009-07-25
知道答主
回答量:40
采纳率:100%
帮助的人:21.7万
展开全部
int是整型,是0—65535的数,
char是字符型,是0—255的数,
2473>char内的数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户91829
2009-07-25 · 超过13用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:0
展开全部
char c 和int c 相差48,定义哪个一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式