#include <stdio.h>
void main()
{
int a=1;
char c;
x:for(a=1;a!=0;a++)
{
printf("Hello\n");
c=getch();
if(c=='n')
exit(0);
else
goto x;
}
}
//请仅使用主要操作员
帮助我完成此程序答案 0 :(得分:1)
这有点不同,为您展示一个简单的解决方案。但是,如果你不被允许使用kbhit
,你就会陷入困境。
#include <stdio.h>
#include <conio.h> // include the library header
int main(void) // correct signature for main
{
int c = 0; // note getch() returns `int` type
while(c != 'n') // until correct key is pressed
{
do { // forever
printf("Hello\n");
} while(!kbhit()); // until a key press detected
c = getch(); // fetch that key press
}
return 0;
}
请记住,它只测试小写n
。
答案 1 :(得分:1)
发布的代码无法编译!
以下代码将完成这项工作。
请注意goto
已被删除
请注意,不需要的变量已被删除
请注意,包含了相应的头文件
注意main()函数的签名已更正
#include <stdio.h> // printf()
#include <conio.h> // getch() kbhit() <-- use correct header file
int main( void ) // <-- use valid signature
{
// <-- eliminate unneeded variables
while(1) // <-- non-confusing (and simple) loop statement
{
printf("Hello\n");
if( kbhit() )
{ // then some key has been pressed
if( 'n' == getch() )
{ // then 'n' key has been pressed
break; // <-- exit the loop
}
}
}
} // end function: main
答案 2 :(得分:0)
试试这个。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(void) {
char c='y';
while(c!='n') {
while(!kbhit()) {
printf("Hello\n");
}
c=getch();
}
}
请注意我没有编译,因为 conio.h 目前无法使用。