两个if(getch())只执行后一个
我想要实现一个功能,(x,y) 在按下←键时x减小1,在按下→时x增大1,以下是程序,但发现控制台只执行第二个if,第一个if好像被放弃了? #include <stdio.h>#include <conio.h>
int main(void){
int num,x,y;
x = 0;
y = 0;
while(1)
{
if((num=getch())== 75){
x = x - (num - 74);
system("cls");
printf("(%d,%d)\n",x,y);
}
if((num=getch())== 77){
x = x + (num - 76);
system("cls");
printf("(%d,%d)\n",x,y);
}
}
return 0;
} 明明两个if单独作用都可以的,但放到一起为什么前面的那个就报废了呢=- = 大佬们救救孩子把 #include <stdio.h>
#include <conio.h>
int main(void) {
int num, x, y;
x = 0;
y = 0;
while (1)
{
num = getch();
if (num == 75) {
x = x - 1;
system("cls");
printf("(%d,%d)\n", x, y);
}else if (num == 77) {
x = x + 1;
system("cls");
printf("(%d,%d)\n", x, y);
}
}
return 0;
}
输入和输出发出来,如果有BUG截下图,光看你的描述,不知道你的问题嗷。 Neverturnback 发表于 2020-5-7 05:59
输入和输出发出来,如果有BUG截下图,光看你的描述,不知道你的问题嗷。
简单地说就是按下←键x不会减小1,花了些时间弄清楚了,问题描述不清,下次会注意的{:10_257:} superbe 发表于 2020-5-6 23:02
明白了谢谢大佬
页:
[1]