#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);
}
Run Code Online (Sandbox Code Playgroud)
当我输入"abc"作为输入时,如果按下输入则不起作用.任何人都可以让我知道为什么条件ch = getch()!='\n'在按Enter键时不会变为假?我还观察到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;
}
Run Code Online (Sandbox Code Playgroud)