C语言求教:想一直输入字符直到a时停止并输出a。结果怎么不一样

#include<stdio.h>
void main()
{
char ch;
printf("请输入字符\n");
do
scanf("%c",&ch);
while(ch!='\141');
printf("%c",ch);
}

第1个回答  2014-03-06
程序没有问题,只是要输一个字符按一下回车scanf才能把值赋给ch

如果要实现你的想法,要用到getch()函数,包含于conio.h头文件中
#include<stdio.h>
#include<conio.h>
void main()
{
char ch;
printf("请输入字符\n");
do
ch = getche();
while(ch!='\141');
printf("%c",ch);
}本回答被提问者采纳
第2个回答  推荐于2018-04-13

C标准库函数的获取键盘输入都是以回车来提交数据的。

LZ的要求可以使用非标准库函数,比如DOS下

#include<stdio.h>
#include <conio.h>        ///////////////
int main()
{
    char ch;
    printf("请输入字符(\'a\'结束)\n");
    do {
        ch = getche();    ////////////
        putchar(ch);
    } while(ch != 'a');
}

追问

谢谢你

本回答被网友采纳
第3个回答  2014-03-06
#include<stdio.h>
void main()
{
char ch;
printf("请输入字符\n");
do
    scanf("%c",&ch);
    while(ch!='a');//或者while(ch!=97);
printf("%c",ch);
}

追问

谢谢你

第4个回答  2014-03-06
这个好像不行吧。?不是输入都要按回车么。追问

你说的应该对的,按回车才停下

第5个回答  2014-03-06
加上括号{}追问

往哪加?不影响吧

相似回答