有以下程序 #include<stdio.h> main() { char c1,c2; scanf("%c",&c1); c2=c1+32; printf("%c,%c\n",c1,c2

}程序运行输入65回车后,能否输出结果、结束运行?... }
程序运行输入65回车后,能否输出结果、结束运行?
展开
 我来答
yy_9579
推荐于2018-04-15
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
输入65是不能运行的!
首先你输的6就送给了C1,然后执行while循环语句,
字符6的ASCII码是054,很明显 C1<65成立,
继续执行while里面的语句,而此时又输了个‘5’,
C1被重新赋值,它现在是5了!!而字符'5'依然符合 C1<65,
再次循环执行 scanf("%c",&c1)....
直到输入一个字符不满足条件(c1<65||c1>90),循环才会终止,否则程序将一直循环下去而不会有任何结果。
只要输入一个大写字母,立即就会有输出!!!

楼主明儿就考试了!!我也要考阿!!
加油阿!!!!
ziyuewokao
2011-03-24
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
事实上你的printf函数后面少了一个括号和一个分号。。。如果你的程序是下面这样:
#include<stdio.h>
main()
{
char c1,c2;
scanf("%c",&c1);
c2=c1+32;
printf("%c,%c\n",c1,c2);
}
那么它是可以运行的,但也许不是你要的结果。因为%c作为scanf的参数是要求录入一个字符,而65是两个字符,故实际上c1的值为'6'。
输出结果如下:
--------------------------
65
6,V
请按任意键继续. . .
------------------------
更多追问追答
追问
恩,对的,我少打了。。。但是答案是不能???
追答
你的问题是能否输出结果并结束运行,答案是可以(因为它实际上输出了结果。VC中测试)。
但也许你的本意是测试大小写转换,这种转换由于你的参数为%c,故你应该输入的字符'A',而不是65,它实际上是两个字符'6'与'5'。

输出结果并结束是可以的,但输入“65”测试大小写转换时不行的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xue_0608
2011-03-24 · TA获得超过115个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:0
展开全部
程序规范格式后应该是这样:
#include<stdio.h>
main()
{
char c1,c2;
scanf("%c",&c1);
c2=c1+32;
printf("%c,%c\n",c1,c2);
}
这是传说中的大小写转换啊。
输入65,其对于的ASCII字符为"A"
c2=c1+32即为“a”
那么最后输出结果为:
A,a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楼末夜里15
2011-03-24
知道答主
回答量:9
采纳率:0%
帮助的人:9.5万
展开全部
能输出结果,但不是A,a,输出的是6,v。你把 scanf("%c",&c1); 中的%c改成%d就能输出A,a了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千尺竹
2011-03-24 · TA获得超过211个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:134万
展开全部
能够输出结果,并且能够结束运行。输出结果为97
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式