我正在尝试将一些代码从C翻译成另一种语言.我没有快速访问C编译器,只是发现自己与单行if语句混淆.我知道这样的陈述:
if (condition) [statement]
Run Code Online (Sandbox Code Playgroud)
和
if (condition)
[statement]
Run Code Online (Sandbox Code Playgroud)
可以在没有括号的情况下进行评估,即相当于:
if (condition) {[statement]}
Run Code Online (Sandbox Code Playgroud)
和
if (condition)
{[statement]}
Run Code Online (Sandbox Code Playgroud)
分别,但我不确定我正在处理的示例代码.它会:
if (ge.g[*l][*k].s==1) *i=1; else *i=Ne;
*j=*l;
Run Code Online (Sandbox Code Playgroud)
我觉得第二行不受if语句的影响,但是从代码的上下文来看并不是很明显.长话短说:以上相当于:
if (ge.g[*l][*k].s==1) {*i=1;} else {*i=Ne;}
*j=*l;
Run Code Online (Sandbox Code Playgroud)
要么
if (ge.g[*l][*k].s==1) {*i=1;} else {*i=Ne;
*j=*l;}
Run Code Online (Sandbox Code Playgroud)
?