问题描述
- c语言新手,请问我这个程序有问题吗?
-
#include
int main(void)
{
char ch;
printf("Please enter a character.n");
scanf("%c",&ch);
printf("The code for %c is %d.n",ch,ch);
return 0;
}为什么我输入字符时,按回车,屏幕并没有出现打印的字符串,光标移到下一行的开头?
解决方案
char ch;
printf("Please enter a character.n");
ch = getchar();
printf("The code for %c is %d.n", ch, ch);
return 0;
解决方案二:
你的编译环境是什么?我在vs2010和mingw(g++)环境下编译你的程序,运行结果都是正确的(回车后立即输出)。
解决方案三:
我的是安卓编译器c4droid,是不是编译器的问题?
解决方案四:
在这里你必须明确 字符与字符串的区别。 字符,说白了就是最小的整型,一般占一个字节,字符变量名称对应的是整数值。字符串是至少一个字符与‘’
组合得到的,字符串变量对应的是字符串首字符的地址。当你令ch为char型时,ch只能存储一个简单的字符,而非字符串。当你输入了一个长度超过单个
字符的字符串后,s由你的编译器决定scanf()函数到底读取哪个字符,这种结果通常是未定义的。
解决方案五:
输入单个字符程序是没有问题的,如果说有问题的话就是longyu__wlz说的那样了
解决方案六:
你的程序没有问题,试试换个编译器
解决方案七:
把反斜杠前的点去掉试试
时间: 2024-10-28 20:20:37