scanf这样的错误是怎么回事?

scanf_s("%d %d %c %d", &x, &y,&direction,&k);

这样输入 1 1 U 6再回车 会出现错误?

scanf_s对于字符是要指定获取长度的,比如你这里输入U应该是一个字符,如果输入UU,那就是2了

 scanf_s("%d %d %c %d", &x, &y,&direction,1,&k);

目测&direction不需要取地址,它是数组的话。