大家可以分别用scanf()和getchar()运行一下看下区别 我运行的时候用scsnf就需要多输入一次需要求的数
我用的free3.5
#include <stdio.h>
void main()
{
char x,y;
printf("请按回车键开始\n");
x=getchar(); //scanf("%c %d",&x);列如我用scanf这样有什么不同?
printf("%c\t%d\n",x,x);
y=x-32;
printf("%c\t%d\n",y,y);
}
----------------解决方案--------------------------------------------------------
scanf("%c %d",&x);
能这样吗?怀疑中....
----------------解决方案--------------------------------------------------------
getchar()是只能提取一个字符
scanf()可以提取数值也可以提取字符,但是必须要输入字符格式,或者数值格式
[此贴子已经被作者于2007-3-12 14:40:11编辑过]
----------------解决方案--------------------------------------------------------
scanf("%c %d",&x);
能这样吗?怀疑中....
不可以,这个是错的
----------------解决方案--------------------------------------------------------
scanf("%c %d",&x);
但是我输入两次 要求的字符 居然运行结果正确 列如我要求 a 对应的ACSiI码 和大写字母及ACSII码
我输入 a 按回车键后在次输入a 就能运行了 思考中~~~~~~~~~~`
----------------解决方案--------------------------------------------------------
这样就是正确的
#include <stdio.h>
void main()
{
char x,y;
printf("请按回车键开始\n");
scanf("%c",&x); //与这里使用 x=getchar();没区别了吧?
printf("%c\t%d\n",x,x);
y=x-32;
printf("%c\t%d\n",y,y);
}
----------------解决方案--------------------------------------------------------
scanf("%c %d",&x);
但是我输入两次 要求的字符 居然运行结果正确 列如我要求 a 对应的ACSiI码 和大写字母及ACSII码
我输入 a 按回车键后在次输入a 就能运行了 思考中~~~~~~~~~~`
你这个是不规范的
一个变量只能有一个值
----------------解决方案--------------------------------------------------------
嗯 是我自己用错了已经检查出来了
----------------解决方案--------------------------------------------------------