我到一些奇怪的行为与运行调用函数与含有残培参数()。
就拿下面的代码:
_Bool IsKeyDown(char c)
{
if(!kbhit())
return 0;
char ch1 = getch();
printf("%c\n", c);
return 0;
}
/*
*
*/
int main(int argc, char** argv) {
while(1)
{
IsKeyDown('a');
IsKeyDown('b');
Sleep(100);
}
return (EXIT_SUCCESS);
}
当按下一个键使用此代码,不管是什么,它总是会打印“A”,这是第一个函数的参数。 的问题是,“a”为不被称为第二函数的参数,但“A”仍然是印刷的,而不是“B”。 这是为什么出现?