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

}程序运行输入65回车后,能否输出结果、结束运行?
2025-03-21 06:55:11
推荐回答(5个)
回答1:

输入65是不能运行的!
首先你输的6就送给了C1,然后执行while循环语句,
字符6的ASCII码是054,很明显 C1<65成立,
继续执行while里面的语句,而此时又输了个‘5’,
C1被重新赋值,它现在是5了!!而字符'5'依然符合 C1<65,
再次循环执行 scanf("%c",&c1)....
直到输入一个字符不满足条件(c1<65||c1>90),循环才会终止,否则程序将一直循环下去而不会有任何结果。
只要输入一个大写字母,立即就会有输出!!!

楼主明儿就考试了!!我也要考阿!!
加油阿!!!!

回答2:

事实上你的printf函数后面少了一个括号和一个分号。。。如果你的程序是下面这样:
#include
main()
{
char c1,c2;
scanf("%c",&c1);
c2=c1+32;
printf("%c,%c\n",c1,c2);
}
那么它是可以运行的,但也许不是你要的结果。因为%c作为scanf的参数是要求录入一个字符,而65是两个字符,故实际上c1的值为'6'。
输出结果如下:
--------------------------
65
6,V
请按任意键继续. . .
------------------------

回答3:

程序规范格式后应该是这样:
#include
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

回答4:

能输出结果,但不是A,a,输出的是6,v。你把 scanf("%c",&c1); 中的%c改成%d就能输出A,a了

回答5:

能够输出结果,并且能够结束运行。输出结果为97