遇到了一份奇奇怪怪的代码
#include <cstdio> int main () { char ch1, ch2, ch3; scanf("%1c%2c%3c", &ch1, &ch2, &ch3); printf("%c\n%c\n%c\n", ch1, ch2, ch3); return 0; }
输出的结果是ch1是3,ch2是空格,ch3是2
想了半天也没搞懂为啥ch1会是3,求大佬解释
还是说这个是未定义行为?