我对一个简单的程序有一个想法,这将帮助我在C语言中使用运算符优先级.最困难的部分是括号表达式.例如,我想要这个:
*a.x++ = *b.x++
Run Code Online (Sandbox Code Playgroud)
转换为:
((*(((a).(x))++)) = (*(((b).(x))++)))
Run Code Online (Sandbox Code Playgroud)
我在这些步骤中手动完成的操作:
*a.x++ = *b.x++
*(a).(x)++ = *(b).(x)++
*((a).(x))++ = *((b).(x))++
*(((a).(x))++) = *(((b).(x))++)
(*(((a).(x))++)) = (*(((b).(x))++))
((*(((a).(x))++)) = (*(((b).(x))++)))
Run Code Online (Sandbox Code Playgroud)
以编程方式完成此操作的最佳方法是什么?我可以使用的解决方案吗?我更喜欢用PHP,C,C++,Python或Ruby来做这件事.
(这不是我的计划的全部想法,它只是第一步.)