麻了蒟蒻不明白,为啥和#2数据输出一样,结果不过

P2689 东南西北

```cpp #include <stdio.h> int main(void) { int x1, y1, x2, y2, t, s = 0, i; char w[51],c[2]; scanf("%d%d%d%d%d", &x1, &y1, &x2, &y2, &t); for (i = 0; i < t; ++i) { scanf("%s", &c); w[i]=c[0]; } for (i = 0; i < t; ++i) { if (x1 == x2 && y1 == y2) { printf("%d", s); return 0; } if (x1 != x2) { if (x2 - x1 > 0) { if (w[i] == 'E') { s++; x1++; } } else { if (w[i] == 'W') { s++; x1--; } } } if (y1 != y2) { if (y2 - y1 > 0) { if (w[i] == 'N') { s++; y1++; } } else { if (w[i] == 'S') { s--; y1--; } } } } if (x1 != x2 || y1 != y2) printf("-1"); return 0; } ```
by simonG @ 2022-09-03 07:58:43


@[kk74751](/user/679327) 你的字符串读入有危险
by simonG @ 2022-09-03 07:59:02


@[gaosichensb](/user/253936) 我一开始是写 ```c for (i = 0; i < t; ++i) scanf("%c", &w[i]); ``` 后来因为会吃回车,所以在前面加了getchar() 为啥scanf("%c",&w[i]);会把回车输入数组,我记得以前这样写没问题 谢谢你的解答
by SCAU_Link @ 2022-09-03 09:55:55


|