Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
getch()函数的帮助_C_Getch - Fatal编程技术网

getch()函数的帮助

getch()函数的帮助,c,getch,C,Getch,我想使用getch函数来获取一个字符。。。因此,用户只能输入Y或N字符。。但是while循环不起作用。。。我需要帮助!谢谢 #include <stdio.h> main(){ char yn = 0; printf("\n\t\t Save changes? Y or N [ ]\b\b"); yn = getch(); while (yn != 'Y' || yn != 'y' || yn != 'N' || yn != 'n') { //loop

我想使用getch函数来获取一个字符。。。因此,用户只能输入Y或N字符。。但是while循环不起作用。。。我需要帮助!谢谢

#include <stdio.h>
main(){
   char yn = 0; 
   printf("\n\t\t  Save changes? Y or N [ ]\b\b");
   yn = getch();
   while (yn != 'Y' || yn != 'y' || yn != 'N' || yn != 'n') {   //loop is not working
         yn = getch();
   }  
   if (yn=='Y' || yn=='y') printf("Yehey"); 
   else printf("Exiting!");  
   getch();
}
#包括
main(){
char-yn=0;
printf(“\n\t\t保存更改?Y或n[]\b\b”);
yn=getch();
而(yn!='Y'| yn!='Y'| yn!='N'| yn!='N'){//循环不工作
yn=getch();
}  
如果(yn=='Y'| yn=='Y')printf(“Yehey”);
else printf(“退出!”);
getch();
}
yn!='Y'| | yn!='y'| | yn!='N'| | yn!='不 您需要在此处使用&&而不是| |。假设您已输入“Y”。所以第一次测试yn!='Y'为假,但第二次测试yn!='是的。因此,这个条件是正确的,因为它们是OR。这就是它再次进入循环的原因

你的意思是&不是| |

变量“yn”是一个字符。对于要计算为false的表达式,该字符必须同时为Y、Y、N和N,这是不可能的

你需要:

while(yn != 'y' && yn != 'Y' && yn != 'n' && yn != 'N')

while语句中的逻辑有缺陷,您需要逻辑AND(&&)而不是逻辑OR(| |)


此外,这将是使用do{…}while()的好地方

while循环的条件是嵌套的OR。要使其正常工作,您可能需要将其更改为:

do {
   yn = getch()
} while(yn != 'Y' && yn != 'y' && yn != 'N' && yn != 'n');
//getch()函数的使用
#包括
#包括
//主功能启动执行
viod main()
{
CLRSC();//清除屏幕
//可证实的减容
int a;//任意整数
int b;//任意整数
int c;//任意整数
couta;//读取整数
coutb;//读取整数
c=a+b;//将“a”和“b”的xum值赋给“c”

coutIt将有助于解释它是如何工作的,或者您为解决此问题所做的任何努力。表达式
x!=A | | x!=B
将始终为真。
x
只有一个值:)和-1来自其他人,没有明显的原因。我想我知道是谁。
do {
   yn = getch()
} while(yn != 'Y' && yn != 'y' && yn != 'N' && yn != 'n');
//use of getch() function
#include<iostream.h>
#include<conio.h>
//main function starts excuition
viod main()
{
clrscr();//to clear the screen
//veriable decleration
int a;//Any integer
int b;//Any integer
int c;//Any integer
cout<<"Enter the first number\n";//prompt
cin>>a;//read the integer
cout<<"Enter the second number\n";//prompt
cin>>b;//read integer
c = a + b;//the value of xum of "a" and "b" is assigned to "c"
cout<<"sum is\t"<<c;
getch();//to stay the screen
}