有以下程序 #include<stdio.h> main() { char c1,c2; scanf("%c",&c1); c2=c1+32; printf("%c,%c\n",c1,c2
10个回答
展开全部
输入65是不能运行的!
首先你输的6就送给了C1,然后执行while循环语句,
字符6的ASCII码是054,很明显 C1<65成立,
继续执行while里面的语句,而此时又输了个‘5’,
C1被重新赋值,它现在是5了!!而字符'5'依然符合 C1<65,
再次循环执行 scanf("%c",&c1)....
直到输入一个字符不满足条件(c1<65||c1>90),循环才会终止,否则程序将一直循环下去而不会有任何结果。
只要输入一个大写字母,立即就会有输出!!!
楼主明儿就考试了!!我也要考阿!!
加油阿!!!!
首先你输的6就送给了C1,然后执行while循环语句,
字符6的ASCII码是054,很明显 C1<65成立,
继续执行while里面的语句,而此时又输了个‘5’,
C1被重新赋值,它现在是5了!!而字符'5'依然符合 C1<65,
再次循环执行 scanf("%c",&c1)....
直到输入一个字符不满足条件(c1<65||c1>90),循环才会终止,否则程序将一直循环下去而不会有任何结果。
只要输入一个大写字母,立即就会有输出!!!
楼主明儿就考试了!!我也要考阿!!
加油阿!!!!
展开全部
事实上你的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
请按任意键继续. . .
------------------------
#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”测试大小写转换时不行的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序规范格式后应该是这样:
#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
#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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能输出结果,但不是A,a,输出的是6,v。你把 scanf("%c",&c1); 中的%c改成%d就能输出A,a了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能够输出结果,并且能够结束运行。输出结果为97
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询