很抱歉,如果这是一个愚蠢的问题,但我遇到了用C编写的这行代码,这让我很困惑来自JavaScript背景.
short s;
if ((s = data[q])) return s;
Run Code Online (Sandbox Code Playgroud)
这是为数据[q]分配s,如果它等于true/1则返回s?
您的代码将分配data[q]给该语句s,然后返回s该if语句。如果s不等于0您的代码,则返回s,否则它将转到下一条指令。
或者更好地说它将扩展到以下内容:
short s;
s = data[q];
if (s != 0)
return s;
Run Code Online (Sandbox Code Playgroud)
是的,一项任务......很好地分配......但它也是一种表达方式.任何不等于零的值将被评估为真,零被评估为假.
它会是一样的
if ((s = data[q]) != 0) return s;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |