情况如图所示:

image.png

问题所在:

“? : ”的优先级是高于“=”的,所以当代码会变成 Tag == 1 ? S->Data[++S->Top1] = X : (S->Data[—S->Top2] 这样

解决:

添加括号
Tag == 1 ? (S->Data[++S->Top1] = X) : (S->Data[—S->Top2] = X);