qq_34305902
qq_34305902
采纳率33.3%
2016-03-16 15:37 阅读 1.4k
已采纳

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;
}

为什么我输入字符时,按回车,屏幕并没有出现打印的字符串,光标移到下一行的开头?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2016-03-16 15:44
        char ch;
        printf("Please enter a character.\n");
        ch = getchar();
        printf("The code for %c is %d.\n", ch, ch);
        return 0;
    
    点赞 评论 复制链接分享
  • bingfeng288 懒得起这个csdn名字 2016-03-16 15:43

    把反斜杠前的点去掉试试

    点赞 评论 复制链接分享
  • cxsmarkchan cxsmarkchan 2016-03-16 16:21

    你的编译环境是什么?我在vs2010和mingw(g++)环境下编译你的程序,运行结果都是正确的(回车后立即输出)。

    点赞 评论 复制链接分享
  • qq_34305902 qq_34305902 2016-03-16 16:34

    我的是安卓编译器c4droid,是不是编译器的问题?

    点赞 评论 复制链接分享
  • Longyu_wlz longyu_wlz 2016-03-16 23:05

    在这里你必须明确 字符与字符串的区别。 字符,说白了就是最小的整型,一般占一个字节,字符变量名称对应的是整数值。字符串是至少一个字符与‘\0’
    组合得到的,字符串变量对应的是字符串首字符的地址。当你令ch为char型时,ch只能存储一个简单的字符,而非字符串。当你输入了一个长度超过单个
    字符的字符串后,s由你的编译器决定scanf()函数到底读取哪个字符,这种结果通常是未定义的。

    点赞 评论 复制链接分享
  • runmin1 蜗sn牛 2016-03-17 00:41

    输入单个字符程序是没有问题的,如果说有问题的话就是longyu__wlz说的那样了

    点赞 评论 复制链接分享
  • qq_30408111 二三三 2016-03-17 02:08

    你的程序没有问题,试试换个编译器

    点赞 评论 复制链接分享

相关推荐