gpt4 book ai didi

c - 为什么按回车不返回 '\n' 到 getch()?

转载 作者:太空狗 更新时间:2023-10-29 14:50:52 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <conio.h>
main()
{
char ch,name[20];
int i=0;
clrscr();
printf("Enter a string:");
while((ch=getch())!='\n')
{
name[i]=ch;
i++;
}
name[i] = '\0';
printf("%s",name);
}

当我输入“abc”时,如果我按回车键,它就不起作用了。谁能告诉我为什么当我按 enter 时条件 ch=getch() != '\n' 没有变成假?我还观察到 ch 使用\r 而不是\n。请告诉我。谢谢

最佳答案

使用“\r”并以“\0”结束您的字符串。

此外,您可以尝试使用 getche() 向用户提供视觉回响并进行一些其他一般性更正:

#include <stdio.h>
#include <conio.h>

#define MAX_NAME_LENGTH 20

int main()
{
char ch, name[MAX_NAME_LENGTH];
int i=0;
clrscr();
printf("Enter a string:");
while ( ((ch=getche())!='\r') && (i < MAX_NAME_LENGTH - 1) )
{
name[i]=ch;
i++;
}
name[i] = '\0';
printf("%s\n",name);

return 0;
}

关于c - 为什么按回车不返回 '\n' 到 getch()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/473661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com